Kein Formelschutz in einer Datei, die eine Maschine einliest
Some checks failed
CI / Migrationen auf leerer Datenbank (push) Has been cancelled
CI / Lint, Typen, Tests, Build (push) Has been cancelled

Das vorangestellte Hochkomma schuetzt einen Menschen, der eine CSV in Excel
oeffnet: ein Wert mit fuehrendem =, +, - oder @ waere dort sonst eine Formel.
In einer Load-Datei ist es das Gegenteil von Schutz. Jede oesterreichische
Telefonnummer beginnt mit "+", und in LOLYO stuende danach in jedem Konto
'+4366... als Nummer -- ohne dass es beim Erzeugen jemandem auffiele.

toCsv bekommt dafuer formelschutz in der CsvForm, voreingestellt an. Nur LOLYO
schaltet es ab. Die Telefonspalten von Cornerstone sind bisher leer, deshalb
bleibt die Datei dort, wie sie ist.
This commit is contained in:
2026-09-28 13:47:49 +02:00
parent 676cecbf15
commit 38e35e2ff9
3 changed files with 31 additions and 14 deletions

View File

@@ -121,10 +121,13 @@ describe("Die Datei", () => {
expect(csv.split("\r\n")[0]).toBe(VORGABE);
});
it("maskiert eine Telefonnummer, die Excel als Formel läse", () => {
// „+43…" beginnt mit einem Pluszeichen — ohne Schutz macht Excel daraus
// beim Öffnen eine Formel und zeigt einen Fehler statt der Nummer.
it("lässt die Telefonnummer unangetastet", () => {
// Der Formelschutz von toCsv stellt jedem Wert mit führendem „+" ein
// Hochkomma voran, damit Excel ihn nicht rechnet. Diese Datei liest eine
// Maschine: dort stünde danach in **jedem** Konto `'+4366…` als Nummer,
// weil jede österreichische Nummer mit „+" beginnt.
const csv = toCsv([zeile()], lolyoSpalten(), LOLYO_CSV);
expect(csv).toContain("'+4366412345678");
expect(csv).toContain(";+4366412345678;");
expect(csv).not.toContain("'+43");
});
});