title: "Job (Screen in TechnicalService)" category: reference tags: [mobile, go, go-plus, screen, technicalservice] source: ultimo_gomanager.xml date: 2026-04-17 status: published
Job (Screen in TechnicalService)
Category: Screen Application: TechnicalService Has standard: Ja Entity (uit XML): Job
Raw XMLbewerken
<Screen EntityType="Job">
<ContextList>
<Context>JobContext.TD</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" AISuggestions="True" />
<Property Name="Image" Title="#label(CREATE_PICTURE)" Type="Image" />
<Property Name="BookDate" Title="#label(DATE)" Text="#label(ENTER_DATE)" Type="Date" Value="@{DeviceTime}" Required="True" />
<DataSetProperty Name="HourTariffCategory" Title="#contextdescription_capital(Hourtariffcat 0)" DataSet="CraftsmanHourCategory" />
<Property Name="Hours" Title="#label(WORKED_HOURS)" Text="#label(WORKED_HOURS)" Type="Hours" />
<DataSetProperty Name="FailType" Value="${Job.FailType}" Title="#contextdescription_capital(FailType FailTypeContext.Standard)" DataSet="EquipmentFailType">
<Condition><![CDATA[${Job.Equipment.UseSpecificFailTypes?} == True
&& #applicationelementenabled('8c559b27-9351-4c8b-9f40-2c6a184e3d82')]]></Condition>
<Properties>
<Property Name="EquipmentId" Value="${Job.Equipment.Id}" />
</Properties>
</DataSetProperty>
<DataSetProperty Name="FailType" Value="${Job.FailType}" Title="#contextdescription_capital(FailType FailTypeContext.Standard)" DataSet="ProcessFunctionFailType">
<Condition><![CDATA[${Job.Equipment} == Empty
&& ${Job.ProcessFunction.UseSpecificFailTypes?} == True
&& #applicationelementenabled('8c559b27-9351-4c8b-9f40-2c6a184e3d82')]]></Condition>
<Properties>
<Property Name="ProcessFunctionId" Value="${Job.ProcessFunction.Id}" />
</Properties>
</DataSetProperty>
<DataSetProperty Name="FailType" Value="${Job.FailType}" Title="#contextdescription_capital(FailType FailTypeContext.Standard)" DataSet="EquipmentTypeFailType">
<Condition><![CDATA[(
${Job.Equipment} == Empty
|| ${Job.Equipment.UseSpecificFailTypes?} == False
)
&& (
${Job.ProcessFunction} == Empty
|| ${Job.ProcessFunction.UseSpecificFailTypes?} == False
)
&& ${Job.EquipmentType.UseSpecificFailTypes?} == True
&& #applicationelementenabled('8c559b27-9351-4c8b-9f40-2c6a184e3d82')]]></Condition>
<Properties>
<Property Name="EquipmentTypeId" Value="${Job.EquipmentType.Id}" />
</Properties>
</DataSetProperty>
<DataSetProperty Name="FailType" Value="${Job.FailType}" Title="#contextdescription_capital(FailType FailTypeContext.Standard)" DataSet="FailType">
<Condition><![CDATA[(
${Job.Equipment} == Empty
|| ${Job.Equipment.UseSpecificFailTypes?} == False
)
&& (
${Job.ProcessFunction} == Empty
|| ${Job.ProcessFunction.UseSpecificFailTypes?} == False
)
&& (
${Job.EquipmentType} == Empty
|| ${Job.EquipmentType.UseSpecificFailTypes?} == False
)
&& #applicationelementenabled('8c559b27-9351-4c8b-9f40-2c6a184e3d82')]]></Condition>
</DataSetProperty>
<DataSetProperty Name="EquipmentNewProgressStatus" Title="#label(STATUS_EQUIPMENT)" DataSet="EquipmentNextProgressStatuses">
<Condition><![CDATA[${Job.Equipment} != Empty
&& #getsetting(${Job}, Job.EnableToChangeEquipmentStatusWhenChangingJobStatus) == True]]></Condition>
<Properties>
<Property Name="ProgressStatusId" Value="${Job.Equipment.ProgressStatus.Id?}" />
<Property Name="ProgressStatusContext" Value="#if(${Job.Equipment.Context?} == EquipmentContext.Installation)ProgressStatusContext.EquipmentInstallation#elseif(${Job.Equipment.Context?} == EquipmentContext.Inventory)ProgressStatusContext.EquipmentInventory#end" />
</Properties>
</DataSetProperty>
<Property Name="EquipmentRemark" Title="#label(EQUIPMENT_REMARK)" Text="#label(ENTER_ACTIVITIES)" Type="String" Html="True">
<Condition><![CDATA[${Job.Equipment} != Empty
&& #getsetting(${Job}, Job.EnableToChangeEquipmentStatusWhenChangingJobStatus) == 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}
&& #applicationelementenabled('fe6aa015-81c3-4d0d-a145-36e7aa04e6dc')
&& (
${Job.Employee.Id?} == #{User.EmployeeId}
|| #{Settings.Job.ModifyAnyJob}
)
&& (
${Job.Status}==JobStatus.Active
|| ${Job.Status}==JobStatus.Postponed
)]]></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}
&& #applicationelementenabled('fe6aa015-81c3-4d0d-a145-36e7aa04e6dc')
&& (
${Job.Employee.Id?} == #{User.EmployeeId}
|| #{Settings.Job.ModifyAnyJob}
)
&& (
${Job.Status}==JobStatus.Active
|| ${Job.Status}==JobStatus.Postponed
)]]></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}
&& #applicationelementenabled('fe6aa015-81c3-4d0d-a145-36e7aa04e6dc')
&& (
${Job.Employee.Id?} == #{User.EmployeeId}
|| #{Settings.Job.ModifyAnyJob}
)
&& (
${Job.Status}==JobStatus.Active
|| ${Job.Status}==JobStatus.Postponed
)]]></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="LMRA">
<Condition><![CDATA[#applicationelementenabled('4ae58f6f-f00d-4795-8e65-2819ca11c6f9')]]></Condition>
<Workflow
Name="Mobile_Job_AddLastMinuteRiskAssessment"
Text="#label(LMRA_OPEN_MY)"
Icon="ultimoweb-cone">
<Properties>
<Property Name="Job" Value="${Job.Id}" />
</Properties>
</Workflow>
</Section>
<Section Id="Inspection">
<List DataSet="JobInspectionLine" Text="#label(INSPECTION_LINES)" ShowCount="True" Icon="ultimoweb-clipboard-4">
<Condition><![CDATA[#applicationelementenabled('19321c40-702c-4996-9140-c0acca929b05')
&& #applicationelementenabled('fd403875-2594-4572-b110-a0110f9b62bc')]]></Condition>
<Properties>
<Property Name="JobId" Value="${Job.Id}" />
</Properties>
</List>
<List DataSet="JobInspectionLine" Text="#label(INSPECTION_LINES)" ShowCount="True" Icon="ultimoweb-clipboard-4" ShowDetails="True">
<Condition><![CDATA[#applicationelementenabled('19321c40-702c-4996-9140-c0acca929b05')
&& #applicationelementenabled('593585fb-242a-4daf-8509-2e506b64c7da')]]></Condition>
<Properties>
<Property Name="JobId" Value="${Job.Id}" />
</Properties>
</List>
<List DataSet="JobInspectionLineCourseRoute" Text="#label(MAINTENANCE_ROUTE_LINES)" ShowCount="True" Icon="ultimoweb-steps">
<Condition><![CDATA[#applicationelementenabled('02e2e5e7-3645-4ba1-b802-a71b3b03aec8')
&& #applicationelementenabled('ab085696-8ef5-4160-af0c-c6c42fe7f6fe')]]></Condition>
<Properties>
<Property Name="JobId" Value="${Job.Id}" />
</Properties>
</List>
<List DataSet="JobInspectionLineCourseRoute" Text="#label(MAINTENANCE_ROUTE_LINES)" ShowCount="True" Icon="ultimoweb-steps" ShowDetails="True">
<Condition><![CDATA[#applicationelementenabled('02e2e5e7-3645-4ba1-b802-a71b3b03aec8')
&& #applicationelementenabled('27eea12a-6191-413c-81f2-23876546e9f8')]]></Condition>
<Properties>
<Property Name="JobId" Value="${Job.Id}" />
</Properties>
</List>
</Section>
<Section Id="Priority">
<Entity Value="${Job.Priority}" />
</Section>
<Section Id="Material">
<List DataSet="JobMaterial" Title="#label(MATERIAL_REGISTER)" Text="#label(MATERIAL_REGISTER_JOB)" ShowCount="True" Icon="ultimoweb-pencil-4">
<Condition><![CDATA[#{Settings.Job.CanApproveAndAddMaterial}
&& #applicationelementenabled('2243ab68-f3c2-47f6-9f03-e11404142fa3')]]></Condition>
<Properties>
<Property Name="JobId" Value="${Job.Id}" />
</Properties>
</List>
<Workflow
Name="Mobile_Article_AddJobMaterial"
Title="#label(MATERIAL_ADD)"
Text="#label(MATERIAL_ADD_JOB)"
Icon="ultimoweb-cube-2">
<Condition><![CDATA[#{Settings.Job.CanApproveAndAddMaterial}
&& ${Job.Status} != JobStatus.Closed
&& #applicationelementenabled('cb76774e-248c-4480-b5d8-7221e6b2c42f') == False
&& #applicationelementenabled('2243ab68-f3c2-47f6-9f03-e11404142fa3')]]></Condition>
<Properties>
<Property Name="Job" Value="${Job.Id}" />
<DataSetProperty Name="Article" Title="#label(MATERIAL_ADD)" DataSet="AddJobMaterial" Required="True" />
</Properties>
</Workflow>
<Workflow
Name="Mobile_ArticleWarehouse_AddJobMaterial"
Title="#label(MATERIAL_ADD)"
Text="#label(MATERIAL_ADD_JOB)"
Icon="ultimoweb-cube-2">
<Condition><![CDATA[#{Settings.Job.CanApproveAndAddMaterial}
&& ${Job.Status} != JobStatus.Closed
&& #applicationelementenabled('cb76774e-248c-4480-b5d8-7221e6b2c42f')
&& #applicationelementenabled('2243ab68-f3c2-47f6-9f03-e11404142fa3')]]></Condition>
<Properties>
<Property Name="Job" Value="${Job.Id}" />
<DataSetProperty Name="ArticleWarehouse" Title="#label(MATERIAL)" DataSet="ArticleWarehouse" Required="True">
<Properties>
<Property Name="JobSite" Value="${Job.Site.Id?}" />
</Properties>
</DataSetProperty>
<Property Name="QuantityOut" Title="#label(MATERIAL_REGISTER_JOB_USED)" Type="Quantity" />
<Property Name="QuantityIn" Title="#label(MATERIAL_REGISTER_JOB_RETURNED)" Type="Quantity" />
</Properties>
</Workflow>
<Workflow
Name="Mobile_ArticleWarehouse_AddJobMaterial"
Title="#label(ADD_SPAREPART)"
Text="#label(ADD_SPAREPART_JOB)"
Icon="ultimoweb-cube-2">
<Condition><![CDATA[${Job.Equipment.SpareParts?} != Empty
&& #{Settings.Job.CanApproveAndAddMaterial}
&& ${Job.Status} != JobStatus.Closed
&& #applicationelementenabled('cb76774e-248c-4480-b5d8-7221e6b2c42f')
&& #applicationelementenabled('2243ab68-f3c2-47f6-9f03-e11404142fa3')]]></Condition>
<Properties>
<Property Name="Job" Value="${Job.Id}" />
<DataSetProperty Name="ArticleWarehouse" Title="#label(MATERIAL)" DataSet="EquipmentSparePartWarehouse" Required="True">
<Properties>
<Property Name="EquipmentId" Value="${Job.Equipment.Id}" />
<Property Name="JobSite" Value="${Job.Site.Id?}" />
</Properties>
</DataSetProperty>
<Property Name="QuantityOut" Title="#label(MATERIAL_REGISTER_JOB_USED)" Type="Quantity" />
<Property Name="QuantityIn" Title="#label(MATERIAL_REGISTER_JOB_RETURNED)" Type="Quantity" />
</Properties>
</Workflow>
<Workflow
Name="Mobile_JobMaterial_Delete"
Title="#label(MATERIAL_REMOVE)"
Text="#label(MATERIAL_REMOVE_JOB)"
Icon="ultimoweb-remove-2">
<Condition><![CDATA[#{Settings.Job.CanApproveAndAddMaterial}
&& ${Job.Status} != JobStatus.Closed
&& #applicationelementenabled('2243ab68-f3c2-47f6-9f03-e11404142fa3')]]></Condition>
<Properties>
<DataSetProperty Name="JobMaterial" Title="#label(MATERIAL_REMOVE)" DataSet="JobMaterialDelete" Required="True">
<Properties>
<Property Name="Job" Value="${Job.Id}" />
</Properties>
</DataSetProperty>
</Properties>
</Workflow>
</Section>
<Section Id="AcceptJobByProduction">
<Text Title="#label(ACCEPTANCE_STATEMENT)" Text="${Job.AcceptanceStatement}" Icon="ultimoweb-certificate" ConvertHtmlToPlainText="True">
<Condition><![CDATA[${Job.AcceptedBy} == Empty
&& ${Job.AcceptedDate} == Empty
&& ${Job.ProgressStatus.AllowAcceptance?} == True
&& #applicationelementenabled('8f9f24e7-15eb-4efd-9317-9f7ee34c9f84')]]></Condition>
</Text>
<List DataSet="JobAcceptanceChecklist" Text="#label(CHECKLIST_ACCEPTANCE)" ShowCount="True" Icon="ultimoweb-checkbox">
<Condition><![CDATA[${Job.AcceptedBy} == Empty
&& ${Job.AcceptedDate} == Empty
&& ${Job.ProgressStatus.AllowAcceptance?} == True
&& #applicationelementenabled('8f9f24e7-15eb-4efd-9317-9f7ee34c9f84')]]></Condition>
<Properties>
<Property Name="JobId" Value="${Job.Id}" />
</Properties>
</List>
<Workflow
Name="Mobile_Job_Accept"
Title="#label(ACCEPT)"
Text="#label(ACCEPT_JOB)"
Icon="ultimoweb-checkmark">
<Condition><![CDATA[${Job.AcceptedBy} == Empty
&& ${Job.AcceptedDate} == Empty
&& ${Job.ProgressStatus.AllowAcceptance?} == True
&& #applicationelementenabled('8f9f24e7-15eb-4efd-9317-9f7ee34c9f84')]]></Condition>
<Properties>
<Property Name="Job" Value="${Job.Id}" />
<DataSetProperty Name="Employee" Title="#label(EMPLOYEE)" Type="String" DataSet="EmployeeAcceptance" Required="True" />
<Property Name="Signature" Title="#label(CREATE_SIGNATURE)" Type="Signature" Required="True" />
<Property Name="AcceptanceRemarkText" Title="#label(REMARK)" Type="String" Value="${Job.AcceptanceRemarkText}" Html="True" />
</Properties>
</Workflow>
<Workflow
Name="Mobile_Job_Accept"
Title="#label(DO_NOT_ACCEPT)"
Text="#label(DO_NOT_ACCEPT_JOB)"
Icon="ultimoweb-close">
<Condition><![CDATA[${Job.AcceptedBy} == Empty
&& ${Job.AcceptedDate} == Empty
&& ${Job.ProgressStatus.AllowAcceptance?} == True
&& #applicationelementenabled('8f9f24e7-15eb-4efd-9317-9f7ee34c9f84')]]></Condition>
<Properties>
<Property Name="Job" Value="${Job.Id}" />
<Property Name="AcceptJob" Value="Rejected" />
<Property Name="SetDateMethod" Value="ClearValue" />
<Property Name="SetEmployeeMethod" Value="ClearValue" />
<Property Name="AcceptanceRemarkText" Title="#label(REMARK)" Type="String" Html="True" />
</Properties>
</Workflow>
<Text Title="#label(REMARK)" Text="${Job.AcceptanceRemarkText}" Icon="ultimoweb-copy-2" ConvertHtmlToPlainText="True">
<Condition><![CDATA[${Job.Accepted} != 1
&& ${Job.ProgressStatus.AllowAcceptance?} == True
&& #applicationelementenabled('8f9f24e7-15eb-4efd-9317-9f7ee34c9f84')]]></Condition>
</Text>
<Entity Value="${Job.AcceptedBy}" Title="#label(ACCEPTED_BY)">
<Condition><![CDATA[${Job.Accepted} == 1
&& ${Job.ProgressStatus.AllowAcceptance?} == True
&& #applicationelementenabled('8f9f24e7-15eb-4efd-9317-9f7ee34c9f84')]]></Condition>
</Entity>
<Text Title="#label(ACCEPTED_ON)" Text="#formatdate(${Job.AcceptedDate} 'f' true)" Icon="ultimoweb-calendar">
<Condition><![CDATA[${Job.Accepted} == 1
&& ${Job.ProgressStatus.AllowAcceptance?} == True
&& #applicationelementenabled('8f9f24e7-15eb-4efd-9317-9f7ee34c9f84')]]></Condition>
</Text>
<Entity Value="${Job.RejectAcceptanceEmployee}" Title="#label(NOT_ACCEPTED_BY)">
<Condition><![CDATA[${Job.Accepted} == 2
&& ${Job.ProgressStatus.AllowAcceptance?} == True
&& #applicationelementenabled('8f9f24e7-15eb-4efd-9317-9f7ee34c9f84')]]></Condition>
</Entity>
<Text Title="#label(NOT_ACCEPTED_ON)" Text="#formatdate(${Job.RejectAcceptanceDate} 'f' true)" Icon="ultimoweb-calendar">
<Condition><![CDATA[${Job.Accepted} == 2
&& #applicationelementenabled('8f9f24e7-15eb-4efd-9317-9f7ee34c9f84')]]></Condition>
</Text>
</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="Image">
<Workflow
Name="Mobile_Job_AddImage"
Title="#label(CREATE_PICTURE)"
Text="#label(CREATE_PICTURE) (max 4)"
Icon="ultimoweb-camera">
<Condition><![CDATA[(
${Job.Employee.Id?} == #{User.EmployeeId}
|| #{Settings.Job.ModifyAnyJob}
)
&& ${Job.Status} != JobStatus.Closed]]></Condition>
<Properties>
<Property Name="Job" Value="${Job.Id}" />
<Property Name="Image" Title="#label(CREATE_PICTURE)" Type="Image" />
</Properties>
</Workflow>
<Document Title="#label(ATTACHED_IMAGE)" Text="#label(ILLUSTRATION_1)" Image="${Job.ImageFile}" FileName="${Job.ImageFile}">
<Condition><![CDATA[${Job.ImageFile} != Empty]]></Condition>
</Document>
<Document Title="#label(ATTACHED_IMAGE)" Text="#label(ILLUSTRATION_2)" Image="${Job.ImageFile2}" FileName="${Job.ImageFile2}">
<Condition><![CDATA[${Job.ImageFile2} != Empty]]></Condition>
</Document>
<Document Title="#label(ATTACHED_IMAGE)" Text="#label(ILLUSTRATION_3)" Image="${Job.ImageFile3}" FileName="${Job.ImageFile3}">
<Condition><![CDATA[${Job.ImageFile3} != Empty]]></Condition>
</Document>
<Document Title="#label(ATTACHED_IMAGE)" Text="#label(ILLUSTRATION_4)" Image="${Job.ImageFile4}" FileName="${Job.ImageFile4}">
<Condition><![CDATA[${Job.ImageFile4} != Empty]]></Condition>
</Document>
<Workflow
Name="Mobile_Job_DeleteImage"
Title="#label(DELETE_IMAGE)">
<Condition><![CDATA[(
${Job.ImageFile} != Empty
|| ${Job.ImageFile2} != Empty
|| ${Job.ImageFile3} != Empty
|| ${Job.ImageFile4} != Empty
)
&& (
${Job.Employee.Id?} == #{User.EmployeeId}
|| #{Settings.Job.ModifyAnyJob}
)
&& ${Job.Status} != JobStatus.Closed]]></Condition>
<Properties>
<Property Name="Job" Value="${Job.Id}" />
<Property Name="Image1" Title="#label(ILLUSTRATION_1)" Type="Boolean" Value="False" Required="True">
<Condition><![CDATA[${Job.ImageFile} != Empty]]></Condition>
</Property>
<Property Name="Image2" Title="#label(ILLUSTRATION_2)" Type="Boolean" Value="False" Required="True">
<Condition><![CDATA[${Job.ImageFile2} != Empty]]></Condition>
</Property>
<Property Name="Image3" Title="#label(ILLUSTRATION_3)" Type="Boolean" Value="False" Required="True">
<Condition><![CDATA[${Job.ImageFile3} != Empty]]></Condition>
</Property>
<Property Name="Image4" Title="#label(ILLUSTRATION_4)" Type="Boolean" Value="False" Required="True">
<Condition><![CDATA[${Job.ImageFile4} != Empty]]></Condition>
</Property>
</Properties>
</Workflow>
</Section>
<Section Id="Permit">
<List DataSet="JobPermit" Text="#label(WORKPERMITS)" ShowCount="True" Icon="ultimoweb-certificate">
<Condition><![CDATA[#applicationelementenabled('cdf4d827-7bb7-4d50-ba83-c651e3525b1c')]]></Condition>
<Properties>
<Property Name="JobId" Value="${Job.Id}" />
</Properties>
</List>
</Section>
<Section Id="FollowUpJob">
<Condition><![CDATA[#applicationelementenabled('a0047b5b-84d5-472f-b289-dec9492d8989')]]></Condition>
<Entity Value="${Job.ParentJob}" Title="#label(FOLLOWUP_JOB_OF)">
<Condition><![CDATA[${Job.ParentJob} != Empty]]></Condition>
</Entity>
<Workflow
Name="Mobile_Job_ReportContinuationJob"
Title="#label(REPORT_FOLLOWUP_JOB)"
Icon="ultimoweb-copy-2">
<Condition><![CDATA[(
${Job.Status} == JobStatus.Active
|| ${Job.Status} == JobStatus.Finished
|| ${Job.Status} == JobStatus.Postponed
)
&& (
${Job.Employee.Id?} == #{User.EmployeeId}
|| #{Settings.Job.ModifyAnyJob}
)]]></Condition>
<Properties>
<Property Name="Job" Value="${Job.Id}" />
<Property Name="Description" Title="#label(DESCRIPTION)" Text="#label(ENTER_DESCRIPTION)" Type="String" Value="${Job.Description}" Required="True" />
<Property Name="ReportText" Title="#label(EXPLANATION)" Text="#label(EXPLANATION)" Type="String" Value="${Job.ReportText}" Html="True" />
<DataSetProperty Name="WorkOrderType" Value="${Job.WorkOrderType}" Title="#label(JOB_TYPE)" DataSet="WorkOrderType" />
</Properties>
</Workflow>
<List DataSet="FollowUpJobs" Text="#label(FOLLOWUP_JOBS)" ShowCount="True" Icon="ultimoweb-paste-2">
<Condition><![CDATA[${Job.Status} == JobStatus.Active
|| ${Job.Status} == JobStatus.Finished
|| ${Job.Status} == JobStatus.Postponed]]></Condition>
<Properties>
<Property Name="ParentJobId" Value="${Job.Id}" />
</Properties>
</List>
</Section>
<Section Id="Location">
<Entity Value="${Job.ProcessFunction}">
<Condition><![CDATA[#applicationelementenabled('8ede6284-820e-45f2-c2a3-f8dcddaac74f')]]></Condition>
</Entity>
<Entity Value="${Job.Equipment}">
<Condition><![CDATA[#applicationelementenabled('37050ff7-cac3-4418-877d-62c464d89461')
|| #applicationelementenabled('43d562eb-eef8-41ce-aebe-4f7d122f770f')]]></Condition>
</Entity>
<Workflow
Name="Mobile_Job_ChangeEquipment"
Title="#label(CHANGE) #contextdescription_capital(${Job.Equipment})"
Text="#label(CHANGE) #contextdescription_capital(${Job.Equipment}) #label(ON_JOB)"
SubText="SubText"
Icon="ultimoweb-cube-2">
<Condition><![CDATA[(
${Job.Equipment} != Empty
)
&& (
${Job.Employee.Id?} == #{User.EmployeeId}
|| #{Settings.Job.ModifyAnyJob}
)
&& ${Job.Status} != JobStatus.Closed
&& (
#applicationelementenabled('37050ff7-cac3-4418-877d-62c464d89461')
|| #applicationelementenabled('43d562eb-eef8-41ce-aebe-4f7d122f770f')
)
&& ${Job.PmJob.Equipment?} == Empty]]></Condition>
<Properties>
<Property Name="Job" Value="${Job.Id}" />
<DataSetProperty Name="Equipment" Title="#label(Id) #contextdescription_capital(${Job.Equipment})" DataSet="Equipment" Required="True" />
</Properties>
</Workflow>
<Workflow
Name="Mobile_Job_ChangeEquipment"
Title="#label(ATTACH) #contextdescription_capital(Equipment 1) / #contextdescription_capital(Equipment 2)"
Text="#label(ATTACH) #contextdescription_capital(Equipment 1) / #contextdescription_capital(Equipment 2) #label(ON_JOB)"
SubText="SubText"
Icon="ultimoweb-cube-2">
<Condition><![CDATA[${Job.Equipment} == Empty
&& (
${Job.Employee.Id?} == #{User.EmployeeId}
|| #{Settings.Job.ModifyAnyJob}
)
&& ${Job.Status} != JobStatus.Closed
&& (
#applicationelementenabled('37050ff7-cac3-4418-877d-62c464d89461')
|| #applicationelementenabled('43d562eb-eef8-41ce-aebe-4f7d122f770f')
)
&& ${Job.PmJob.Equipment?} == Empty]]></Condition>
<Properties>
<Property Name="Job" Value="${Job.Id}" />
<DataSetProperty Name="Equipment" Title="#label(Id) #contextdescription_capital(Equipment 1) / #contextdescription_capital(Equipment 2)" DataSet="Equipment" Required="True" />
</Properties>
</Workflow>
<Entity Value="${Job.Site}">
<Condition><![CDATA[#applicationelementenabled('f6094a39-7020-4369-80fa-e7474945d49d')]]></Condition>
</Entity>
<Entity Value="${Job.Space}">
<Condition><![CDATA[#applicationelementenabled('32f4e088-23f6-4aac-a182-edf043869bbe')]]></Condition>
</Entity>
</Section>
<Section Id="Employee">
<Entity Value="${Job.SkillCategory}" />
<Entity Value="${Job.Employee}" Title="#label(EXECUTE_BY)" />
<List DataSet="JobSchedulePartJob" Text="#label(SCHEDULEDEMPLOYEE)" ShowCount="True" Icon="ultimoweb-users-3">
<Condition><![CDATA[#applicationelementenabled('16a48c63-445a-4e39-a918-e9aade9c2553')]]></Condition>
<Properties>
<Property Name="JobId" Value="${Job.Id}" />
</Properties>
</List>
</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="Document">
<Document Title="#label(ATTACHMENT)" Text="${Job.Document.FileName?}" Icon="ultimoweb-attachment" FileName="${Job.Document.FullName?}">
<Condition><![CDATA[${Job.Document} != Empty]]></Condition>
</Document>
<List DataSet="JobObjectDocument" Text="#contextdescription_plural_capital(document 0)" ShowCount="True" Icon="ultimoweb-attachment">
<Properties>
<Property Name="JobId" Value="${Job.Id}" />
</Properties>
</List>
<Workflow
Name="Mobile_AddDocument"
Title="#label(ADD_DOCUMENT)"
Text="#label(ADD_DOCUMENT_JOB)"
Icon="ultimoweb-file-upload-2">
<Condition><![CDATA[${Job.Status} != JobStatus.Closed]]></Condition>
<Properties>
<Property Name="Job" Value="${Job.Id}" />
<Property Name="Document" Title="#label(ADD_DOCUMENT)" Type="Document" Required="True" />
</Properties>
</Workflow>
</Section>
<Section Id="StructuredFailureData">
<Condition><![CDATA[${Job.Employee.Id?} == #{User.EmployeeId}
|| #{Settings.Job.ModifyAnyJob}]]></Condition>
<Workflow
Name="Mobile_Job_ChangeComponent"
Title="#label(CHANGE_FAILEDCOMPONENT)"
Text="#if(${Job.Component} != Empty)#label(CURRENT_FAILEDCOMPONENT)#end"
Icon="ultimoweb-link-4">
<Condition><![CDATA[#applicationelementenabled('f3817e94-afa3-48c6-a12d-59becd68f93a')
&& ${Job.Status} == JobStatus.Active]]></Condition>
<Properties>
<Property Name="Job" Value="${Job.Id}" />
<DataSetProperty Name="Component" Title="#contextdescription_capital(Component ComponentContext.TS)" DataSet="Component">
<Condition><![CDATA[${Job.EquipmentType} == Empty
|| ${Job.EquipmentType.UseSpecificComponents?} == False]]></Condition>
<Properties>
<Property Name="Context" Value="ComponentContext.TS" />
</Properties>
</DataSetProperty>
<DataSetProperty Name="Component" Title="#contextdescription_capital(Component ComponentContext.TS)" DataSet="ObjectEquipmentTypeComponent">
<Condition><![CDATA[${Job.EquipmentType.UseSpecificComponents?} == True]]></Condition>
<Properties>
<Property Name="EquipmentTypeId" Value="${Job.EquipmentType.Id}" />
</Properties>
</DataSetProperty>
</Properties>
</Workflow>
<Workflow
Name="Mobile_Job_ChangeComponentProblem"
Title="#label(CHANGE_COMPONENTPROBLEM)"
Text="#if(${Job.ComponentProblem} != Empty)#label(CURRENT_COMPONENTPROBLEM)#end"
Icon="icon-question-circle">
<Condition><![CDATA[#applicationelementenabled('ceadeeac-40c8-45e2-b5f8-f644a085b68d')
&& ${Job.Status} == JobStatus.Active]]></Condition>
<Properties>
<Property Name="Job" Value="${Job.Id}" />
<DataSetProperty Name="ComponentProblem" Title="#contextdescription_capital(ComponentProblem ComponentProblemContext.TS)" DataSet="ComponentProblem">
<Condition><![CDATA[${Job.Component} == Empty
|| ${Job.Component.UseSpecificComponentProblems?} == False]]></Condition>
<Properties>
<Property Name="Context" Value="ComponentProblemContext.TS" />
</Properties>
</DataSetProperty>
<DataSetProperty Name="ComponentProblem" Title="#contextdescription_capital(ComponentProblem ComponentProblemContext.TS)" DataSet="ComponentComponentProblem">
<Condition><![CDATA[${Job.Component.UseSpecificComponentProblems?} == True]]></Condition>
<Properties>
<Property Name="ComponentId" Value="${Job.Component.Id}" />
</Properties>
</DataSetProperty>
</Properties>
</Workflow>
<Workflow
Name="Mobile_Job_ChangeFailureCause"
Title="#label(CHANGE_FAILURECAUSE)"
Text="#if(${Job.FailType} != Empty)#label(CURRENT_FAILURECAUSE)#end"
Icon="app-icon-energymanagement">
<Condition><![CDATA[#applicationelementenabled('8c559b27-9351-4c8b-9f40-2c6a184e3d82')]]></Condition>
<Properties>
<Property Name="Job" Value="${Job.Id}" />
<DataSetProperty Name="FailureCause" Title="#contextdescription_capital(FailType FailTypeContext.Standard)" DataSet="EquipmentFailType">
<Condition><![CDATA[${Job.Equipment.UseSpecificFailTypes?} == True]]></Condition>
<Properties>
<Property Name="EquipmentId" Value="${Job.Equipment.Id}" />
</Properties>
</DataSetProperty>
<DataSetProperty Name="FailureCause" Title="#contextdescription_capital(FailType FailTypeContext.Standard)" DataSet="ProcessFunctionFailType">
<Condition><![CDATA[${Job.Equipment} == Empty
&& ${Job.ProcessFunction.UseSpecificFailTypes?} == True]]></Condition>
<Properties>
<Property Name="ProcessFunctionId" Value="${Job.ProcessFunction.Id}" />
</Properties>
</DataSetProperty>
<DataSetProperty Name="FailureCause" Title="#contextdescription_capital(FailType FailTypeContext.Standard)" DataSet="EquipmentTypeFailType">
<Condition><![CDATA[(
${Job.Equipment} == Empty
|| ${Job.Equipment.UseSpecificFailTypes?} == False
)
&& (
${Job.ProcessFunction} == Empty
|| ${Job.ProcessFunction.UseSpecificFailTypes?} == False
)
&& ${Job.EquipmentType.UseSpecificFailTypes?} == True]]></Condition>
<Properties>
<Property Name="EquipmentTypeId" Value="${Job.EquipmentType.Id}" />
</Properties>
</DataSetProperty>
<DataSetProperty Name="FailureCause" Title="#contextdescription_capital(FailType FailTypeContext.Standard)" DataSet="FailType">
<Condition><![CDATA[(
${Job.Equipment} == Empty
|| ${Job.Equipment.UseSpecificFailTypes?} == False
)
&& (
${Job.ProcessFunction} == Empty
|| ${Job.ProcessFunction.UseSpecificFailTypes?} == False
)
&& (
${Job.EquipmentType} == Empty
|| ${Job.EquipmentType.UseSpecificFailTypes?} == False
)]]></Condition>
</DataSetProperty>
</Properties>
</Workflow>
<Workflow
Name="Mobile_Job_ChangeRemedy"
Title="#label(CHANGE_REMEDY)"
Text="#if(${Job.Remedy} != Empty)#label(CURRENT_REMEDY)#end"
Icon="ultimoweb-aid">
<Condition><![CDATA[#applicationelementenabled('1e70e8c4-b402-4725-a4e8-2bced3b4a5e0')
&& ${Job.Status} == JobStatus.Active]]></Condition>
<Properties>
<Property Name="Job" Value="${Job.Id}" />
<DataSetProperty Name="Remedy" Title="#contextdescription_capital(Remedy RemedyContext.TS)" DataSet="Remedy">
<Condition><![CDATA[${Job.EquipmentType} == Empty
|| ${Job.EquipmentType.UseSpecificRemedies?} == False]]></Condition>
<Properties>
<Property Name="Context" Value="RemedyContext.TS" />
</Properties>
</DataSetProperty>
<DataSetProperty Name="Remedy" Title="#contextdescription_capital(Remedy RemedyContext.TS)" DataSet="ObjectEquipmentTypeRemedy">
<Condition><![CDATA[${Job.EquipmentType.UseSpecificRemedies?} == True]]></Condition>
<Properties>
<Property Name="EquipmentTypeId" Value="${Job.EquipmentType.Id}" />
</Properties>
</DataSetProperty>
</Properties>
</Workflow>
</Section>
<Section Id="Contract">
<Entity Value="${Job.ServiceContract}">
<Condition><![CDATA[#applicationelementenabled('16792a9e-1e5e-4f22-ba73-6222ae0ebdd1')]]></Condition>
</Entity>
<Entity Value="${Job.Vendor}" />
</Section>
<Section Id="Type">
<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="CostCarrier">
<Entity Value="${Job.Department}">
<Condition><![CDATA[#applicationelementenabled('4a2d7f23-f846-4780-a3e6-41038ccc9c11')]]></Condition>
</Entity>
<Entity Value="${Job.CostCenter}">
<Condition><![CDATA[#applicationelementenabled('a5db516e-0122-4318-aa1c-773b71e28757')]]></Condition>
</Entity>
</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(FINAL_FINISH_DATE)" Text="#formatdate(${Job.FinalFinishDate} 'd' true)" Icon="ultimoweb-calendar">
<Condition><![CDATA[${Job.ExecutionDays} > 0
&& #applicationelementenabled('2bafedae-f1ef-4c38-97d1-6c5817248715')]]></Condition>
</Text>
<Text Title="#label(PLANNED_DURATION)" Text="#formathours(${Job.HoursCalculated}) #label(HOURS)" Icon="ultimoweb-calendar">
<Condition><![CDATA[${Job.HoursCalculated} != Empty
&& #applicationelementenabled('68564d09-086c-4a24-83bb-16a2894efd59')]]></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="TechnicalService")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.