Gerenciador de transações: Campos de data e hora
Saiba mais sobre os campos do Gerenciador de transações para horas e datas.
Em CPQ, datas e horas são essenciais para determinar quanto tempo um contrato ou assinatura dura, quando as renovações vencem e como os preços são aplicados ao longo do tempo.
Um novo campo de data ou data/hora pode ser introduzido para oferecer suporte a cálculos de termo ou para eventos de auditoria.
Os cálculos de prazo calculam os termos do contrato, datas de início e término, renovações e duração. Datas em branco ou nulas podem afetar a precisão do termo. Os padrões do sistema, como a data atual ou sinalizadores de erro, podem lidar com datas ausentes.
Os eventos de auditoria podem rastrear atividades como cotações, pagamentos e assinaturas de contratos. As datas ausentes podem indicar dados incompletos e devem ser sinalizadas para revisão.
Os exemplos a seguir mostram como os campos de data e hora aparecem na IU do usuário final.
- Exibição do calendário somente de data:
- Entrada de data e hora:
- Somente data:
AAAA-MM-DD(por exemplo,2024-11-07) - Data e hora (opcional):
AAAA-MM-DDTHH:MM:SS(por exemplo,2024-10-22T14:30:00)Os administradores podem decidir se devem incluir o componente de tempo.
Os campos somente de data são agnósticos ao fuso horário. Para evitar discrepâncias de fuso horário, as datas e horas são armazenadas no Tempo Coordenado Universal (UTC).
Crie um novo campo de data e hora
- Em Administrador, clique em Transações , clique em Campos associados e clique em - Criar campo .
- Na caixa de diálogo, insira o nome do campo. Defina o tipo como Data/Hora e clique em Salvar .
- Abra o campo, defina o acesso com base no seu caso de uso e clique em Salvar .
Exiba o novo campo de data e hora na interface de compra
Para aparecer na IU do usuário final, o campo deve ser incluído no layout do blueprint. O layout é definido pelo arquivo de entrada JSON. É possível fazer mudanças na IU do usuário final modificando este arquivo.
Para adicionar um campo "Documento de data de teste" ao layout, siga estas etapas.
- Em Administrador, clique em Transação , clique em Layouts e clique no nome da fase.
- O json de layout deve ser editado em dois lugares.
- Em
campos, adicione o novo campo de data com os parâmetros type, label e variableName. No exemplo abaixo, adicionamos "Documento de data de teste" abaixo do campo existente "Data de início". Ao escrever o código para o novo campo, certifique-se de que o nome da variável corresponda exatamente ao nome da variável do campo associado.Nota:Neste exemplo, usamos um campo que exibe somente a data, portanto o tipo no layout JSON é"Tipo":"Data". Para criar um campo que também exiba a hora, o tipo deve ser"Tipo":"DateTime". - Em
"Layout": "Camadas": "ColumnSets":defina a ordem da coluna do novo campo na seção "elementos". Certifique-se de que o nome da variável seja exatamente o mesmo.
- Em
- Clique em Salvar e clique em Implantar .
- Crie uma nova transação e clique em Editar transação . O novo campo se parece com o seguinte.
Cálculo de datas em Regras
Os cálculos de prazo podem determinar a duração de um contrato, assinatura ou acordo de preços. Às vezes, talvez seja necessário calcular os dados e exibir a saída em outro campo para fins de auditoria. No exemplo a seguir, consideramos a data de início e a data de término disponíveis na IU de compra e calculamos a diferença entre as datas em termos de meses e dias. Nós exibimos o valor em outro campo chamado "Prazo de assinatura".
- Em CPQ Administrador, clique em Regras relacionadas e clique em Nova regra . Insira o nome da regra e defina as condições. Neste exemplo, nomeie a regra "Calcular data do termo da assinatura" e sua condição como "Data de início". "Data de término" não deve ser nula.
- Para determinar o valor de outro campo, adicione uma ação de determinação e forneça um arquivo de script na seção de script avançado. O snippet de script a seguir executa o cálculo.
// Script calculates the difference between start and end dates in months and days and displays the output in Subscription Term (Months). var yearsDiff = txn.custom.endDate.getFullYear() - txn.custom.startDate.getFullYear(); var monthsDiff = txn.custom.endDate.getMonth() - txn.custom.startDate.getMonth(); var totalMonths = yearsDiff * 12 + monthsDiff; var startDay = txn.custom.startDate.getDate(); var endDay = txn.custom.endDate.getDate(); var daysInMonth = new Date(txn.custom.endDate.getFullYear(), txn.custom.endDate.getMonth() + 1, 0).getDate(); var dayFraction = (endDay - startDay + 1) / daysInMonth; totalMonths += dayFraction; return Math.floor(totalMonths * 1000) / 1000;Insira o script no editor de scripts e clique em Salvar .
- Associe a regra recém-criada ao blueprint. Navegue até Agrupamentos de regras E, em seguida, para o nome da fase em que a regra deve ser aplicada (neste caso, draftStageRuleGroup). Clique em Regras de associação e pesquise o nome da regra. Arraste a regra para o painel esquerdo e clique Concluído para implantar.
- Teste a funcionalidade na interface de compra fornecendo valores para a data de início e a data de término. O termo da assinatura é preenchido automaticamente com base no script.
Comportamento dos campos de data e hora em scripts
As datas em branco/nulas são comparadas como FALSAS, a menos que comparadas com outro valor em branco.
"": VERDADEIRO"": FALSO
Comparações , . são compatíveis. As comparações que envolvem datas em branco ou nulas sempre são avaliadas como FALSAS. Os valores padrão para campos de data estão vazios (nulos), a menos que especificado.
Operações agregadas:
Máx: localizar data mais recenteMín: localizar data mais antigaContagem: conta valores de data não vazios
Soma e. Média não são recomendados porque podem acionar erros de tempo de compilação.