From daac94b00dc417c41981a2f2695db19984e71447 Mon Sep 17 00:00:00 2001 From: Q Date: Tue, 21 Jan 2025 12:44:20 +0200 Subject: [PATCH] rf viite --- index.html | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/index.html b/index.html index 35d3698..27003be 100644 --- a/index.html +++ b/index.html @@ -106,7 +106,7 @@ LABEL { font-family: monospace; } .print_help_pdf { - display: block; + display: inline-block; overflow: visible; white-space: pre; white-space: pre-wrap; @@ -228,7 +228,18 @@ function calculate_viite_tarkiste(ilman_tarkiste) { let tarkiste = (10 - (tulosumma % 10)) % 10; return tarkiste } +function calculate_rf(viite) { + let suomiosa = parseInt(viite + "271500"); + let mod97 = suomiosa % 97 + let chksum = 98 - mod97; + + return `RF${chksum}` +} function validate_viite(viite) { + if (/^RF\d\d/.test(viite)) { + viite = viite.substring(4); + } + if (! /^\d+$/.test(viite)) { return Array(false, "Viitteen joukossa muutakin kun numeroita!"); } @@ -271,7 +282,14 @@ function validate(final = true) { // VIITE let viite = document.getElementById('viite').value.replaceAll(/\s/g,'').replace(/^0+/,""); let viite_valid = validate_viite(viite); - if (! viite_valid[0]) return make_error("viite_error", viite_valid[1]); + if (! viite_valid[0]) { + document.getElementById('lasku_viite_rf').innerHTML = "RFXX"; + return make_error("viite_error", viite_valid[1]); + } + viite = viite_valid[1].replace(/^0+/,''); + + let rf = calculate_rf(viite); + document.getElementById('lasku_viite_rf').innerHTML = rf; // PAIVA if (! /^[\d-]+$/.test(document.getElementById('paiva').value)) { @@ -482,6 +500,7 @@ function reversed(str) { Viite + RF00 @@ -493,7 +512,7 @@ function reversed(str) { - + [summa]