Partilhar via


Editar o modelo de reserva do quadro da agenda no Universal Resource Scheduling

Quando um requisito é agendado a um recurso, o sistema cria um registo de reservas. O quadro da agenda apresenta as reservas agrupadas por recursos. Os campos apresentados na reserva do quadro da agenda são denominados de Modelo de Reserva, os quais pode personalizar com campos de entidades de sistema.

Editar modelo de reserva de ordens de intervenção

Cada entidade ativada para agendamento pode ter um modelo de reserva diferente. Quando é agendado um requisito de uma ordem de intervenção, o modelo de reserva mostra os valores Nome e Duração do registo Reserva de Recursos Reserváveis.

O valor predefinido é o seguinte fragmento de código:

<div>{SchedulableEntityDisplayName} - {name}<br />Duration: <strong class="bold">{duration}</strong></div>

Para editar o HTML que controla o modelo de reserva, aceda à secção Tipos de Agenda nas definições do quadro de agenda. Selecione a entidade para a qual pretende alterar o modelo de reserva. Se abrir as definições de um separador do quadro da agenda, altera apenas as definições desse separador. Para efetuar alterações a todos os separadores, selecione Editar predefinições e aplique as alterações aí. Defina o Modelo de reserva personalizado como Ativado e altere o código HTML.

No campo Modelo de Reserva defina manualmente o modelo de reserva introduzindo HTML e CSS que possam referenciar campos da entidade Reserva de Recursos Reserváveis e entidades associadas. Certifique-se de testar modelos de reserva personalizados em vários browsers e considere melhores práticas de acessibilidade. O JavaScript não é suportado no modelo de reserva.

Sugestão

Utilize apenas entidades de sistema. Não são suportados valores de solicitação de entidades personalizadas.

Os campos da entidade Reservas de Recursos Reserváveis podem ser referenciados diretamente utilizando o nome do campo entre chavetas. Exemplo: {duration}.

Para apresentar um campo de uma entidade associada, encontre o nome da relação N:1 e adicione um ponto (.) seguido do nome do campo da entidade de destino. Por exemplo, o caminho de relação da ordem de intervenção é msdyn_msdyn_workorder_bookableresourcebooking_WorkOrder e o campo de tipo de incidente primário é msdyn_primaryincidenttype. Isto resulta numa referência de campo {msdyn_msdyn_workorder_bookableresourcebooking_WorkOrder.msdyn_primaryincidenttype}. Adicione mais saltos de relação ligando-os a um período adicional.

Os modelos personalizados aplicam-se apenas às descrições na vista horária do quadro da agenda e não afetarão as vistas diária, semanal nem mensal.

Exemplo de modelo de reserva personalizado

Para este exemplo, criamos um modelo de reserva personalizado para a entidade de ordem de intervenção. O fragmento de código que se segue extrai valores da ordem de intervenção relacionada com a reserva.

<div style="line-height: 11px !important; width: 99%; overflow: hidden; display: block; text-overflow: ellipsis;">
    WO: 
    <b>{msdyn_msdyn_workorder_bookableresourcebooking_WorkOrder.msdyn_name}</b><br/>
    Account: <b>{msdyn_msdyn_workorder_bookableresourcebooking_WorkOrder.msdyn_account_msdyn_workorder_ServiceAccount.name}</b><br/>
    Incident: <b>{msdyn_msdyn_workorder_bookableresourcebooking_WorkOrder.msdyn_primaryincidenttype}</b><br/>
    Duration: <b>{duration} minutes</b><br/>
</div>

Nota

A referência dos atributos do compromisso no modelo de reserva do quadro de agendas não é suportada porque os dados do modelo de compromisso dependem da reserva associada.

Para referenciar estes atributos, certifique-se de que os compromissos têm reserva associadas e, em seguida, desative a definição Incluir Compromissos dos Parâmetros de Agendamento. A desativação desta definição oculta todos os compromissos que não tenham uma reserva de recursos reserváveis associada a estes no quadro da agenda.

Definição avançada do estilo de modelo de reserva utilizando CSS

Pode adicionar estilos ao modelo de reserva personalizado com CSS. Aceda a Agendamento de Recursos > Administração > Parâmetros de Agendamento e defina Desativar Limpeza de Modelos HTML como Sim para incluir instruções CSS nos modelos de reserva.

Neste exemplo, expandimos o exemplo do modelo de reserva personalizado da seção anterior. Utilizamos CSS para adicionar classificações de cliente e os ícones de serviço com base em valores condicionais nos registos de conta e da ordem de intervenção. Uma personalização adicionou um campo new_customerrating na entidade conta e propaga esse campo para a entidade ordem de intervenção com um intervalo de número inteiro de 1 a 10. Queremos que o modelo de reserva visualize a classificação do cliente com estrelas cinzentas. Para representar a classificação real do cliente, também adicionamos cinco estrelas cor de laranja, mas mostramos apenas uma percentagem destas estrelas, correspondente à classificação de 1 a 10 do cliente.

Também pretendemos que o nosso expedidor consiga ver se a ordem de intervenção é uma chamada de serviço ou outro tipo de tarefa. O campo personalizado new_isservicecall na entidade ordem de intervenção, que tem dois valores possíveis: 0 ou 1. Utilizando a mesma abordagem que anteriormente, primeiro desenhamos uma chave inglesa cinzenta como fundo, sobrepomos uma chave inglesa cor de laranja e limitamos a sua dimensão a 0% (new_isservicecall = 0) ou a 100% (new_isservicecall = 1).

Adicione o seguinte texto HTML e CSS ao campo Modelo de Reserva nas Definições de Separador do Quadro da Agenda.

<div style="line-height: 11px !important; width: 99%; overflow: hidden; display: block; text-overflow: ellipsis;">
<div class="back-stars" style="color: #AAAAAA; position: relative; display:inline-block;">
    <i class="fa fa-star" aria-hidden="true"></i>
    <i class="fa fa-star" aria-hidden="true"></i>
    <i class="fa fa-star" aria-hidden="true"></i>
    <i class="fa fa-star" aria-hidden="true"></i>
    <i class="fa fa-star" aria-hidden="true"></i>
<div class="customerrating" style="width:{msdyn_msdyn_workorder_bookableresourcebooking_WorkOrder.msdyn_account_msdyn_workorder_ServiceAccount.new_customerrating}0%; color: #FFBC0B; position: absolute; top: 0; left:0; overflow: hidden; display:-webkit-box">
    <i class="fa fa-star" aria-hidden="true"></i>
    <i class="fa fa-star" aria-hidden="true"></i>
    <i class="fa fa-star" aria-hidden="true"></i>
    <i class="fa fa-star" aria-hidden="true"></i>
    <i class="fa fa-star" aria-hidden="true"></i>
</div>
</div>
<div class="repair-back" style="color: #AAAAAA; position: relative; display:inline-block; padding-left:10px; vertical-align:text-top;">
    <i class="fa fa-wrench" aria-hidden="true"></i>
<div class="repair" style="width:{msdyn_msdyn_workorder_bookableresourcebooking_WorkOrder.new_isservicecall}00%; color: #FFBC0B; position: absolute; top: 0; left:0; padding-left:10px; overflow: hidden; display:-webkit-box">
    <i class="fa fa-wrench" aria-hidden="true"></i>
</div>
</div>
<br/>
WO:
<b>{msdyn_msdyn_workorder_bookableresourcebooking_WorkOrder.msdyn_name}</b><br/>
Account: <b>{msdyn_msdyn_workorder_bookableresourcebooking_WorkOrder.msdyn_account_msdyn_workorder_ServiceAccount.name}</b><br/>
Incident: <b>{msdyn_msdyn_workorder_bookableresourcebooking_WorkOrder.msdyn_primaryincidenttype}</b><br/>
Duration: <b>{duration} minutes</b><br/>
</div>

O modelo de reserva no quadro da agenda contém agora uma representação visual da classificação de cliente e do tipo de tarefa.