diff --git a/src/services/DocumentGenerate.service.js b/src/services/DocumentGenerate.service.js index 4df2933..4fd1e4d 100644 --- a/src/services/DocumentGenerate.service.js +++ b/src/services/DocumentGenerate.service.js @@ -268,16 +268,18 @@ export async function loadAllVariables(patientId, agendaEventoId = null, extras }); } - // Resolve valor numérico (extras tem prioridade sobre session) + // Resolve valor numérico (extras tem prioridade sobre session). + // Number.isFinite (strict) em vez de isFinite global: este último coerce + // null pra 0 e retorna true, fazendo null.toFixed crashar logo abaixo. const valorNum = extras.valor != null ? Number(extras.valor) : (session.valor ? Number(String(session.valor).replace(/[R$\s.]/g, '').replace(',', '.')) : null); - const valorFormatted = isFinite(valorNum) + const valorFormatted = Number.isFinite(valorNum) ? `R$ ${valorNum.toFixed(2).replace('.', ',')}` : (session.valor || ''); - const valorExtensoStr = isFinite(valorNum) ? valorExtenso(valorNum) : ''; + const valorExtensoStr = Number.isFinite(valorNum) ? valorExtenso(valorNum) : ''; const merged = { ...patient,