Editar o modelo de reserva do painel de agendamento no Agendamento de Recursos Universal

Quando um requisito é agendado para um recurso, o sistema cria um registro de reserva. O painel de agendamento exibe as reservas agrupadas por recursos. Os campos exibidos na reserva do painel de agendamento são chamados de Modelo de Reserva, que você pode personalizar com campos das entidades de sistema.

Editar modelo de reserva da ordem de serviço

Cada entidade habilitada para agendamento pode ter um modelo de reserva diferente. Quando um requisito de ordem de serviço é agendado, o modelo de reserva mostra os valores Nome e Duração do registro da Reserva de recursos reserváveis conforme observado na captura de tela a seguir.

O valor padrão é o seguinte trecho de código:

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

Para editar o HTML que controla o modelo de reserva, acesse a seção Tipos de Agendamento nas configurações do painel de agendamento. Selecione a entidade para a qual você deseja alterar o modelo de reserva. Se abrir as configurações em uma guia do painel de agendamento, você vai alterar as configurações apenas dessa guia. Para fazer alterações em todas as guias, selecione Editar padrões e aplique as alterações no local correspondente. Defina o Modelo de reserva personalizado como Ativado e altere o código HTML.

No campo Modelo de reserva, substitua o modelo de reserva inserindo o HTML e o CSS que podem fazer referência a campos na entidade Reserva de recursos reserváveis e na entidades vinculadas. Certifique-se de testar os modelos de reserva personalizados em vários navegadores e considere as melhores práticas de acessibilidade. O JavaScript não é compatível com o modelo de reserva.

Dica

Use apenas entidades do sistema. Não há suporte à extração de valores de entidades personalizadas.

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

Para exibir um campo de uma entidade vinculada, encontre o nome do relacionamento N:1 e adicione um ponto final (.) seguido do nome do campo da entidade de destino. Por exemplo, o caminho do relacionamento da ordem de serviço é msdyn_msdyn_workorder_bookableresourcebooking_WorkOrder e o campo do tipo de incidente principal é msdyn_primaryincidenttype. Isso resulta na referência de campo {msdyn_msdyn_workorder_bookableresourcebooking_WorkOrder.msdyn_primaryincidenttype}. Adicione mais saltos de relacionamento conectando-os com um ponto adicional.

Os modelos personalizados só se aplicam a dicas de ferramentas na exibição horária do painel de programação e não vão afetar as exibições diárias, semanais ou mensais.

Exemplo do modelo de reserva personalizado

Neste exemplo, criamos um modelo de reserva personalizado para a entidade da ordem de serviço. O trecho de código a seguir extrai valores da ordem de serviço relacionada à 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>

Observação

A referência aos atributos de compromisso no modelo de reserva do quadro de agendamento não é compatível porque os dados do modelo de compromisso dependem de ter uma reserva associada.

Para fazer referência a esses atributos, verifique se os compromissos têm reservas associadas e, em seguida, desative a configuração Incluir Compromissos em Parâmetros de Agendamento. A desabilitação dessa configuração oculta todos os compromissos que não tenham reservas de recursos reserváveis vinculadas no quadro de agendamento.

Estilo avançado do modelo de reserva usando CSS

Você pode adicionar estilos ao modelo de reserva personalizado com CSS. Vá para Agendamento de Recursos > Administração > Parâmetros de Agendamento e defina Desabilitar Limpeza dos Modelos HTML como Sim para incluir instruções CSS nos modelos de reserva.

Nesse exemplo, estendemos o exemplo do modelo de reserva personalizado da seção anterior. Usamos CSS para adicionar ícones de classificação do cliente e serviço com base em valores condicionais nos registros da conta e da ordem de serviço. Uma personalização adicionou um campo new_customerrating à entidade de conta e propaga esse campo para a entidade de ordem de serviço com um intervalo de número inteiro de 1 a 10. Queremos que o modelo de reserva visualize a avaliação do cliente com estrelas cinzas. Para representar a classificação real do cliente, também adicionamos cinco estrelas laranjas, mas só mostramos uma porcentagem dessas estrelas, correspondente à classificação do cliente de 1 a 10.

Também queremos que nosso despachante verifique se uma ordem de serviço é uma chamada de serviço ou outro tipo de trabalho. O campo personalizado new_isservicecall na entidade de ordem de serviço têm dois valores possíveis: 0 ou 1. Usando a mesma abordagem anterior, primeiro desenhamos uma chave inglesa cinza como plano de fundo, sobrepomos uma chave inglesa laranja e limitamos o tamanho a 0% (new_isservicecall = 0) ou 100% (new_isservicecall = 1).

Adicione o texto HTML e CSS a seguir ao campo Modelo de reserva em Configurações da guia do painel de agendamento.

<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 painel de agendamento agora contém uma representação visual da classificação do cliente e do tipo de trabalho.