@kreiseck/kasseneck-api 0.9.2 → 0.9.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -4,6 +4,23 @@ Was vor 0.7.0 geschah, steht in der Commit-Historie (`git log`); ab hier wird
4
4
  es hier geführt. Ein Eintrag nennt die Änderung **und ihren Grund** —
5
5
  nur der Grund überlebt den nächsten Umbau.
6
6
 
7
+ ## 0.9.3
8
+
9
+ ### `qrModus` am Geraet: mit welchem Befehl der Signatur-QR auf den Bon kommt
10
+
11
+ **Anlass:** Der Drucker-Wizard laesst zwei Probedrucke machen — einen QR als
12
+ Rasterbild, einen ueber den nativen ESC/POS-Befehl — und fragt, welcher lesbar
13
+ war. Diese Antwort musste bisher nirgends hin: die Kassen druckten fest im
14
+ Rastermodus. An Geraeten, die GS v 0 nicht koennen, kam damit ein Bon ohne
15
+ lesbaren QR heraus, und das ist nach § 132a BAO keine Belegerteilung — der
16
+ Ausfall faellt am Tresen niemandem auf.
17
+
18
+ - `QR_MODUS` (`raster` | `escpos`) als Laufzeitliste und Typ `KasseQrModus`.
19
+ - `KasseSettingsGeraet.qrModus`, Vorgabe `raster` — der bisherige Weg bleibt
20
+ damit fuer jedes bestehende Geraet unveraendert.
21
+ - **Am Geraet und nicht am Betrieb:** welchen Befehl ein Thermodrucker
22
+ versteht, entscheidet das Modell an dieser einen Kasse.
23
+
7
24
  ## 0.9.2
8
25
 
9
26
  ### Sechzehn Saetze: einen Beleg weitergeben, und der Drucker-Wizard
@@ -3,7 +3,7 @@
3
3
  * Rabattverteilung. Die Aufrufe heissen 1:1 wie die Backend-Functions
4
4
  * (die Rewrites-Waechter der Web-App leiten daraus ab).
5
5
  */
6
- export { type KasseStil, type KasseSchrift, type KasseWasserzeichen, type KasseMenge, type KasseTgModus, type KasseKassierenModus, type KasseKartenanbieter, KARTENANBIETER, type KasseBelegAusgabe, type KasseTastenAktion, type KasseTastenkarte, KASSE_TASTEN_AKTIONEN, KASSE_TASTEN_STANDARD, type KasseLayout, type KasseKatpos, type KasseHoehe, type KasseDruckerArt, type KasseTerminalVia, type KasseTerminalArt, type KassePapier, type KasseZeichensatz, type KasseSchnitt, type KasseLadeAuto, type KasseLogoGroesse, type KasseSchriftEinst, type KasseKachelstil, type KasseAutoAbMin, type KasseRabatt, type KasseWzSeite, type KasseWzStaerke, type KasseLogoSkala, type KasseWzSkala, type KasseFertigSekunden, type Schalterkarte, type KasseSettingsBetrieb, type KasseSettingsGeraet, type KasseSettings, KASSE_BETRIEB_STANDARD, KASSE_GERAET_STANDARD, mergeKasseSettings, STIL, SCHRIFT, WASSERZEICHEN, MENGE, TG_MODUS, KASSIEREN_MODUS, BELEG_AUSGABE, LAYOUT, KATPOS, HOEHE, DRUCKER_ART, TERMINAL_VIA, TERMINAL_ART, PAPIER, ZEICHENSATZ, SCHNITT, LADE_AUTO, TASTEN_AKTIONEN, LOGO_GROESSE, SCHRIFT_EINST, KACHELSTIL, AUTO_AB_MIN, RABATT, WZ_SEITE, WZ_STAERKE, LOGO_SKALA, WZ_SKALA, FERTIG_SEKUNDEN, } from './settings.js';
6
+ export { type KasseStil, type KasseSchrift, type KasseWasserzeichen, type KasseMenge, type KasseTgModus, type KasseKassierenModus, type KasseKartenanbieter, KARTENANBIETER, type KasseBelegAusgabe, type KasseTastenAktion, type KasseTastenkarte, KASSE_TASTEN_AKTIONEN, KASSE_TASTEN_STANDARD, type KasseLayout, type KasseKatpos, type KasseHoehe, type KasseDruckerArt, type KasseTerminalVia, type KasseTerminalArt, type KassePapier, type KasseZeichensatz, type KasseSchnitt, type KasseLadeAuto, type KasseQrModus, type KasseLogoGroesse, type KasseSchriftEinst, type KasseKachelstil, type KasseAutoAbMin, type KasseRabatt, type KasseWzSeite, type KasseWzStaerke, type KasseLogoSkala, type KasseWzSkala, type KasseFertigSekunden, type Schalterkarte, type KasseSettingsBetrieb, type KasseSettingsGeraet, type KasseSettings, KASSE_BETRIEB_STANDARD, KASSE_GERAET_STANDARD, mergeKasseSettings, STIL, SCHRIFT, WASSERZEICHEN, MENGE, TG_MODUS, KASSIEREN_MODUS, BELEG_AUSGABE, LAYOUT, KATPOS, HOEHE, DRUCKER_ART, TERMINAL_VIA, TERMINAL_ART, PAPIER, ZEICHENSATZ, SCHNITT, LADE_AUTO, QR_MODUS, TASTEN_AKTIONEN, LOGO_GROESSE, SCHRIFT_EINST, KACHELSTIL, AUTO_AB_MIN, RABATT, WZ_SEITE, WZ_STAERKE, LOGO_SKALA, WZ_SKALA, FERTIG_SEKUNDEN, } from './settings.js';
7
7
  export { type ArticleGroup, type ArticleGroupPayload, fromArticleGroupPayload, type KasseArtikel, type KasseArtikelPayload, fromKasseArtikelPayload, listMyArticleGroups, listMyArticles, type Mengenregel, type MengenVorgabe, mengenregelFuerEinheit, mengenVorgabe, mengeErlaubt, } from './artikel.js';
8
8
  export { getKasseSettings, setMyKasseSettings, setMyRegisterDeviceSettings } from './client.js';
9
9
  export { verteileRabatt } from '../receipt/discount.js';
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getPrintJob = exports.createPrintJob = exports.listMyPrinters = exports.receiptsScopeOf = exports.cancelScopeOf = exports.verteileRabatt = exports.setMyRegisterDeviceSettings = exports.setMyKasseSettings = exports.getKasseSettings = exports.mengeErlaubt = exports.mengenVorgabe = exports.mengenregelFuerEinheit = exports.listMyArticles = exports.listMyArticleGroups = exports.fromKasseArtikelPayload = exports.fromArticleGroupPayload = exports.FERTIG_SEKUNDEN = exports.WZ_SKALA = exports.LOGO_SKALA = exports.WZ_STAERKE = exports.WZ_SEITE = exports.RABATT = exports.AUTO_AB_MIN = exports.KACHELSTIL = exports.SCHRIFT_EINST = exports.LOGO_GROESSE = exports.TASTEN_AKTIONEN = exports.LADE_AUTO = exports.SCHNITT = exports.ZEICHENSATZ = exports.PAPIER = exports.TERMINAL_ART = exports.TERMINAL_VIA = exports.DRUCKER_ART = exports.HOEHE = exports.KATPOS = exports.LAYOUT = exports.BELEG_AUSGABE = exports.KASSIEREN_MODUS = exports.TG_MODUS = exports.MENGE = exports.WASSERZEICHEN = exports.SCHRIFT = exports.STIL = exports.mergeKasseSettings = exports.KASSE_GERAET_STANDARD = exports.KASSE_BETRIEB_STANDARD = exports.KASSE_TASTEN_STANDARD = exports.KASSE_TASTEN_AKTIONEN = exports.KARTENANBIETER = void 0;
4
- exports.belegMailFehler = exports.BELEG_MAIL_FEHLER = exports.meldungGiltFuer = exports.meldung = exports.FEHLERREGELN = exports.MELDUNGEN = exports.listMyTipRecipients = void 0;
3
+ exports.createPrintJob = exports.listMyPrinters = exports.receiptsScopeOf = exports.cancelScopeOf = exports.verteileRabatt = exports.setMyRegisterDeviceSettings = exports.setMyKasseSettings = exports.getKasseSettings = exports.mengeErlaubt = exports.mengenVorgabe = exports.mengenregelFuerEinheit = exports.listMyArticles = exports.listMyArticleGroups = exports.fromKasseArtikelPayload = exports.fromArticleGroupPayload = exports.FERTIG_SEKUNDEN = exports.WZ_SKALA = exports.LOGO_SKALA = exports.WZ_STAERKE = exports.WZ_SEITE = exports.RABATT = exports.AUTO_AB_MIN = exports.KACHELSTIL = exports.SCHRIFT_EINST = exports.LOGO_GROESSE = exports.TASTEN_AKTIONEN = exports.QR_MODUS = exports.LADE_AUTO = exports.SCHNITT = exports.ZEICHENSATZ = exports.PAPIER = exports.TERMINAL_ART = exports.TERMINAL_VIA = exports.DRUCKER_ART = exports.HOEHE = exports.KATPOS = exports.LAYOUT = exports.BELEG_AUSGABE = exports.KASSIEREN_MODUS = exports.TG_MODUS = exports.MENGE = exports.WASSERZEICHEN = exports.SCHRIFT = exports.STIL = exports.mergeKasseSettings = exports.KASSE_GERAET_STANDARD = exports.KASSE_BETRIEB_STANDARD = exports.KASSE_TASTEN_STANDARD = exports.KASSE_TASTEN_AKTIONEN = exports.KARTENANBIETER = void 0;
4
+ exports.belegMailFehler = exports.BELEG_MAIL_FEHLER = exports.meldungGiltFuer = exports.meldung = exports.FEHLERREGELN = exports.MELDUNGEN = exports.listMyTipRecipients = exports.getPrintJob = void 0;
5
5
  /**
6
6
  * Kachel-Kasse: Einstellungen, Artikelgruppen/Artikel fuer Kacheln,
7
7
  * Rabattverteilung. Die Aufrufe heissen 1:1 wie die Backend-Functions
@@ -32,6 +32,7 @@ Object.defineProperty(exports, "PAPIER", { enumerable: true, get: function () {
32
32
  Object.defineProperty(exports, "ZEICHENSATZ", { enumerable: true, get: function () { return settings_js_1.ZEICHENSATZ; } });
33
33
  Object.defineProperty(exports, "SCHNITT", { enumerable: true, get: function () { return settings_js_1.SCHNITT; } });
34
34
  Object.defineProperty(exports, "LADE_AUTO", { enumerable: true, get: function () { return settings_js_1.LADE_AUTO; } });
35
+ Object.defineProperty(exports, "QR_MODUS", { enumerable: true, get: function () { return settings_js_1.QR_MODUS; } });
35
36
  Object.defineProperty(exports, "TASTEN_AKTIONEN", { enumerable: true, get: function () { return settings_js_1.TASTEN_AKTIONEN; } });
36
37
  Object.defineProperty(exports, "LOGO_GROESSE", { enumerable: true, get: function () { return settings_js_1.LOGO_GROESSE; } });
37
38
  Object.defineProperty(exports, "SCHRIFT_EINST", { enumerable: true, get: function () { return settings_js_1.SCHRIFT_EINST; } });
@@ -50,6 +50,21 @@ export declare const SCHNITT: readonly ["partial", "full", "none"];
50
50
  export type KasseSchnitt = typeof SCHNITT[number];
51
51
  export declare const LADE_AUTO: readonly ["bar", "immer", "nie"];
52
52
  export type KasseLadeAuto = typeof LADE_AUTO[number];
53
+ /**
54
+ * Mit welchem Befehl der Signatur-QR auf den Bon kommt.
55
+ *
56
+ * `raster` = der QR wird als Bild gerastert (GS v 0) und geht darum durch jeden
57
+ * Drucker, der Bilder kann. `escpos` = der native QR-Befehl (GS ( k) — schaerfer
58
+ * und schneller, aber aeltere Geraete drucken dann gar keinen QR oder
59
+ * Zeichensalat.
60
+ *
61
+ * **Eine Geraete-Einstellung, keine des Betriebs:** derselbe Bon kommt an einer
62
+ * Kasse sauber heraus und an der Nebenkasse nicht. Und sie ist nicht
63
+ * kosmetisch — nach § 132a BAO ist der QR Teil des Belegs; wer den falschen
64
+ * Modus stehen laesst, erteilt Belege ohne lesbare Signatur.
65
+ */
66
+ export declare const QR_MODUS: readonly ["raster", "escpos"];
67
+ export type KasseQrModus = typeof QR_MODUS[number];
53
68
  /** Groesse des Kuerzel-Logos in der Kopfzeile der Kasse. */
54
69
  export declare const LOGO_GROESSE: readonly ["S", "M", "L"];
55
70
  export type KasseLogoGroesse = typeof LOGO_GROESSE[number];
@@ -176,6 +191,8 @@ export interface KasseSettingsGeraet {
176
191
  papier: KassePapier;
177
192
  zeichensatz: KasseZeichensatz;
178
193
  schnitt: KasseSchnitt;
194
+ /** Befehl fuer den Signatur-QR auf dem Bon; der Drucker-Wizard probiert beide aus. */
195
+ qrModus: KasseQrModus;
179
196
  ladeAn: boolean;
180
197
  ladeAuto: KasseLadeAuto;
181
198
  terminalIp: string;
@@ -9,7 +9,7 @@
9
9
  * bewusst AUS, bis die Buchung geklaert ist (Spec kachel-kasse § 9).
10
10
  */
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.KASSE_GERAET_STANDARD = exports.KASSE_BETRIEB_STANDARD = exports.KASSE_TASTEN_STANDARD = exports.TASTEN_AKTIONEN = exports.KASSE_TASTEN_AKTIONEN = exports.FERTIG_SEKUNDEN = exports.WZ_SKALA = exports.LOGO_SKALA = exports.WZ_STAERKE = exports.WZ_SEITE = exports.RABATT = exports.AUTO_AB_MIN = exports.KACHELSTIL = exports.SCHRIFT_EINST = exports.LOGO_GROESSE = exports.LADE_AUTO = exports.SCHNITT = exports.ZEICHENSATZ = exports.PAPIER = exports.TERMINAL_ART = exports.TERMINAL_VIA = exports.DRUCKER_ART = exports.HOEHE = exports.KATPOS = exports.LAYOUT = exports.BELEG_AUSGABE = exports.KARTENANBIETER = exports.KASSIEREN_MODUS = exports.TG_MODUS = exports.MENGE = exports.WASSERZEICHEN = exports.SCHRIFT = exports.STIL = void 0;
12
+ exports.KASSE_GERAET_STANDARD = exports.KASSE_BETRIEB_STANDARD = exports.KASSE_TASTEN_STANDARD = exports.TASTEN_AKTIONEN = exports.KASSE_TASTEN_AKTIONEN = exports.FERTIG_SEKUNDEN = exports.WZ_SKALA = exports.LOGO_SKALA = exports.WZ_STAERKE = exports.WZ_SEITE = exports.RABATT = exports.AUTO_AB_MIN = exports.KACHELSTIL = exports.SCHRIFT_EINST = exports.LOGO_GROESSE = exports.QR_MODUS = exports.LADE_AUTO = exports.SCHNITT = exports.ZEICHENSATZ = exports.PAPIER = exports.TERMINAL_ART = exports.TERMINAL_VIA = exports.DRUCKER_ART = exports.HOEHE = exports.KATPOS = exports.LAYOUT = exports.BELEG_AUSGABE = exports.KARTENANBIETER = exports.KASSIEREN_MODUS = exports.TG_MODUS = exports.MENGE = exports.WASSERZEICHEN = exports.SCHRIFT = exports.STIL = void 0;
13
13
  exports.mergeKasseSettings = mergeKasseSettings;
14
14
  /*
15
15
  * Jedes Enum steht als Liste zur Laufzeit da, der Typ leitet sich daraus ab
@@ -42,6 +42,20 @@ exports.PAPIER = ['mm58', 'mm80'];
42
42
  exports.ZEICHENSATZ = ['CP1252', 'CP437'];
43
43
  exports.SCHNITT = ['partial', 'full', 'none'];
44
44
  exports.LADE_AUTO = ['bar', 'immer', 'nie'];
45
+ /**
46
+ * Mit welchem Befehl der Signatur-QR auf den Bon kommt.
47
+ *
48
+ * `raster` = der QR wird als Bild gerastert (GS v 0) und geht darum durch jeden
49
+ * Drucker, der Bilder kann. `escpos` = der native QR-Befehl (GS ( k) — schaerfer
50
+ * und schneller, aber aeltere Geraete drucken dann gar keinen QR oder
51
+ * Zeichensalat.
52
+ *
53
+ * **Eine Geraete-Einstellung, keine des Betriebs:** derselbe Bon kommt an einer
54
+ * Kasse sauber heraus und an der Nebenkasse nicht. Und sie ist nicht
55
+ * kosmetisch — nach § 132a BAO ist der QR Teil des Belegs; wer den falschen
56
+ * Modus stehen laesst, erteilt Belege ohne lesbare Signatur.
57
+ */
58
+ exports.QR_MODUS = ['raster', 'escpos'];
45
59
  /*
46
60
  * Auch die uebrigen Wertemengen der Einstellungen stehen jetzt als Liste da —
47
61
  * vorher waren sie nur als Union am Feld ausgeschrieben. Ein Zwilling konnte
@@ -115,7 +129,7 @@ exports.KASSE_GERAET_STANDARD = Object.freeze({
115
129
  tasten: { ...exports.KASSE_TASTEN_STANDARD },
116
130
  druckerAn: false, druckerArt: 'sdp', druckerIp: '', druckerPort: 9100, druckerBt: '', druckerName: '', druckerId: '', druckerDevid: 'local_printer',
117
131
  connectDruckerId: '',
118
- papier: 'mm80', zeichensatz: 'CP1252', schnitt: 'partial',
132
+ papier: 'mm80', zeichensatz: 'CP1252', schnitt: 'partial', qrModus: 'raster',
119
133
  ladeAn: false, ladeAuto: 'bar',
120
134
  terminalIp: '', terminalPort: 8080, terminalVia: 'direkt',
121
135
  terminalArt: 'keins', terminalTid: '', tastenMarken: true,
@@ -3,7 +3,7 @@
3
3
  * Rabattverteilung. Die Aufrufe heissen 1:1 wie die Backend-Functions
4
4
  * (die Rewrites-Waechter der Web-App leiten daraus ab).
5
5
  */
6
- export { type KasseStil, type KasseSchrift, type KasseWasserzeichen, type KasseMenge, type KasseTgModus, type KasseKassierenModus, type KasseKartenanbieter, KARTENANBIETER, type KasseBelegAusgabe, type KasseTastenAktion, type KasseTastenkarte, KASSE_TASTEN_AKTIONEN, KASSE_TASTEN_STANDARD, type KasseLayout, type KasseKatpos, type KasseHoehe, type KasseDruckerArt, type KasseTerminalVia, type KasseTerminalArt, type KassePapier, type KasseZeichensatz, type KasseSchnitt, type KasseLadeAuto, type KasseLogoGroesse, type KasseSchriftEinst, type KasseKachelstil, type KasseAutoAbMin, type KasseRabatt, type KasseWzSeite, type KasseWzStaerke, type KasseLogoSkala, type KasseWzSkala, type KasseFertigSekunden, type Schalterkarte, type KasseSettingsBetrieb, type KasseSettingsGeraet, type KasseSettings, KASSE_BETRIEB_STANDARD, KASSE_GERAET_STANDARD, mergeKasseSettings, STIL, SCHRIFT, WASSERZEICHEN, MENGE, TG_MODUS, KASSIEREN_MODUS, BELEG_AUSGABE, LAYOUT, KATPOS, HOEHE, DRUCKER_ART, TERMINAL_VIA, TERMINAL_ART, PAPIER, ZEICHENSATZ, SCHNITT, LADE_AUTO, TASTEN_AKTIONEN, LOGO_GROESSE, SCHRIFT_EINST, KACHELSTIL, AUTO_AB_MIN, RABATT, WZ_SEITE, WZ_STAERKE, LOGO_SKALA, WZ_SKALA, FERTIG_SEKUNDEN, } from './settings.js';
6
+ export { type KasseStil, type KasseSchrift, type KasseWasserzeichen, type KasseMenge, type KasseTgModus, type KasseKassierenModus, type KasseKartenanbieter, KARTENANBIETER, type KasseBelegAusgabe, type KasseTastenAktion, type KasseTastenkarte, KASSE_TASTEN_AKTIONEN, KASSE_TASTEN_STANDARD, type KasseLayout, type KasseKatpos, type KasseHoehe, type KasseDruckerArt, type KasseTerminalVia, type KasseTerminalArt, type KassePapier, type KasseZeichensatz, type KasseSchnitt, type KasseLadeAuto, type KasseQrModus, type KasseLogoGroesse, type KasseSchriftEinst, type KasseKachelstil, type KasseAutoAbMin, type KasseRabatt, type KasseWzSeite, type KasseWzStaerke, type KasseLogoSkala, type KasseWzSkala, type KasseFertigSekunden, type Schalterkarte, type KasseSettingsBetrieb, type KasseSettingsGeraet, type KasseSettings, KASSE_BETRIEB_STANDARD, KASSE_GERAET_STANDARD, mergeKasseSettings, STIL, SCHRIFT, WASSERZEICHEN, MENGE, TG_MODUS, KASSIEREN_MODUS, BELEG_AUSGABE, LAYOUT, KATPOS, HOEHE, DRUCKER_ART, TERMINAL_VIA, TERMINAL_ART, PAPIER, ZEICHENSATZ, SCHNITT, LADE_AUTO, QR_MODUS, TASTEN_AKTIONEN, LOGO_GROESSE, SCHRIFT_EINST, KACHELSTIL, AUTO_AB_MIN, RABATT, WZ_SEITE, WZ_STAERKE, LOGO_SKALA, WZ_SKALA, FERTIG_SEKUNDEN, } from './settings.js';
7
7
  export { type ArticleGroup, type ArticleGroupPayload, fromArticleGroupPayload, type KasseArtikel, type KasseArtikelPayload, fromKasseArtikelPayload, listMyArticleGroups, listMyArticles, type Mengenregel, type MengenVorgabe, mengenregelFuerEinheit, mengenVorgabe, mengeErlaubt, } from './artikel.js';
8
8
  export { getKasseSettings, setMyKasseSettings, setMyRegisterDeviceSettings } from './client.js';
9
9
  export { verteileRabatt } from '../receipt/discount.js';
@@ -5,7 +5,7 @@
5
5
  */
6
6
  export { KARTENANBIETER, KASSE_TASTEN_AKTIONEN, KASSE_TASTEN_STANDARD, KASSE_BETRIEB_STANDARD, KASSE_GERAET_STANDARD, mergeKasseSettings,
7
7
  // Die Enums als Laufzeitlisten — dieselben Werte, die die Typen oben tragen.
8
- STIL, SCHRIFT, WASSERZEICHEN, MENGE, TG_MODUS, KASSIEREN_MODUS, BELEG_AUSGABE, LAYOUT, KATPOS, HOEHE, DRUCKER_ART, TERMINAL_VIA, TERMINAL_ART, PAPIER, ZEICHENSATZ, SCHNITT, LADE_AUTO, TASTEN_AKTIONEN, LOGO_GROESSE, SCHRIFT_EINST, KACHELSTIL, AUTO_AB_MIN, RABATT, WZ_SEITE, WZ_STAERKE, LOGO_SKALA, WZ_SKALA, FERTIG_SEKUNDEN, } from './settings.js';
8
+ STIL, SCHRIFT, WASSERZEICHEN, MENGE, TG_MODUS, KASSIEREN_MODUS, BELEG_AUSGABE, LAYOUT, KATPOS, HOEHE, DRUCKER_ART, TERMINAL_VIA, TERMINAL_ART, PAPIER, ZEICHENSATZ, SCHNITT, LADE_AUTO, QR_MODUS, TASTEN_AKTIONEN, LOGO_GROESSE, SCHRIFT_EINST, KACHELSTIL, AUTO_AB_MIN, RABATT, WZ_SEITE, WZ_STAERKE, LOGO_SKALA, WZ_SKALA, FERTIG_SEKUNDEN, } from './settings.js';
9
9
  export { fromArticleGroupPayload, fromKasseArtikelPayload, listMyArticleGroups, listMyArticles, mengenregelFuerEinheit, mengenVorgabe, mengeErlaubt, } from './artikel.js';
10
10
  export { getKasseSettings, setMyKasseSettings, setMyRegisterDeviceSettings } from './client.js';
11
11
  export { verteileRabatt } from '../receipt/discount.js';
@@ -50,6 +50,21 @@ export declare const SCHNITT: readonly ["partial", "full", "none"];
50
50
  export type KasseSchnitt = typeof SCHNITT[number];
51
51
  export declare const LADE_AUTO: readonly ["bar", "immer", "nie"];
52
52
  export type KasseLadeAuto = typeof LADE_AUTO[number];
53
+ /**
54
+ * Mit welchem Befehl der Signatur-QR auf den Bon kommt.
55
+ *
56
+ * `raster` = der QR wird als Bild gerastert (GS v 0) und geht darum durch jeden
57
+ * Drucker, der Bilder kann. `escpos` = der native QR-Befehl (GS ( k) — schaerfer
58
+ * und schneller, aber aeltere Geraete drucken dann gar keinen QR oder
59
+ * Zeichensalat.
60
+ *
61
+ * **Eine Geraete-Einstellung, keine des Betriebs:** derselbe Bon kommt an einer
62
+ * Kasse sauber heraus und an der Nebenkasse nicht. Und sie ist nicht
63
+ * kosmetisch — nach § 132a BAO ist der QR Teil des Belegs; wer den falschen
64
+ * Modus stehen laesst, erteilt Belege ohne lesbare Signatur.
65
+ */
66
+ export declare const QR_MODUS: readonly ["raster", "escpos"];
67
+ export type KasseQrModus = typeof QR_MODUS[number];
53
68
  /** Groesse des Kuerzel-Logos in der Kopfzeile der Kasse. */
54
69
  export declare const LOGO_GROESSE: readonly ["S", "M", "L"];
55
70
  export type KasseLogoGroesse = typeof LOGO_GROESSE[number];
@@ -176,6 +191,8 @@ export interface KasseSettingsGeraet {
176
191
  papier: KassePapier;
177
192
  zeichensatz: KasseZeichensatz;
178
193
  schnitt: KasseSchnitt;
194
+ /** Befehl fuer den Signatur-QR auf dem Bon; der Drucker-Wizard probiert beide aus. */
195
+ qrModus: KasseQrModus;
179
196
  ladeAn: boolean;
180
197
  ladeAuto: KasseLadeAuto;
181
198
  terminalIp: string;
@@ -38,6 +38,20 @@ export const PAPIER = ['mm58', 'mm80'];
38
38
  export const ZEICHENSATZ = ['CP1252', 'CP437'];
39
39
  export const SCHNITT = ['partial', 'full', 'none'];
40
40
  export const LADE_AUTO = ['bar', 'immer', 'nie'];
41
+ /**
42
+ * Mit welchem Befehl der Signatur-QR auf den Bon kommt.
43
+ *
44
+ * `raster` = der QR wird als Bild gerastert (GS v 0) und geht darum durch jeden
45
+ * Drucker, der Bilder kann. `escpos` = der native QR-Befehl (GS ( k) — schaerfer
46
+ * und schneller, aber aeltere Geraete drucken dann gar keinen QR oder
47
+ * Zeichensalat.
48
+ *
49
+ * **Eine Geraete-Einstellung, keine des Betriebs:** derselbe Bon kommt an einer
50
+ * Kasse sauber heraus und an der Nebenkasse nicht. Und sie ist nicht
51
+ * kosmetisch — nach § 132a BAO ist der QR Teil des Belegs; wer den falschen
52
+ * Modus stehen laesst, erteilt Belege ohne lesbare Signatur.
53
+ */
54
+ export const QR_MODUS = ['raster', 'escpos'];
41
55
  /*
42
56
  * Auch die uebrigen Wertemengen der Einstellungen stehen jetzt als Liste da —
43
57
  * vorher waren sie nur als Union am Feld ausgeschrieben. Ein Zwilling konnte
@@ -111,7 +125,7 @@ export const KASSE_GERAET_STANDARD = Object.freeze({
111
125
  tasten: { ...KASSE_TASTEN_STANDARD },
112
126
  druckerAn: false, druckerArt: 'sdp', druckerIp: '', druckerPort: 9100, druckerBt: '', druckerName: '', druckerId: '', druckerDevid: 'local_printer',
113
127
  connectDruckerId: '',
114
- papier: 'mm80', zeichensatz: 'CP1252', schnitt: 'partial',
128
+ papier: 'mm80', zeichensatz: 'CP1252', schnitt: 'partial', qrModus: 'raster',
115
129
  ladeAn: false, ladeAuto: 'bar',
116
130
  terminalIp: '', terminalPort: 8080, terminalVia: 'direkt',
117
131
  terminalArt: 'keins', terminalTid: '', tastenMarken: true,
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.9.2",
2
+ "version": "0.9.3",
3
3
  "gemessenAn": {
4
4
  "tid": "3600335",
5
5
  "hpsVersion": "1.10.0",
@@ -134,6 +134,7 @@
134
134
  "papier": "mm80",
135
135
  "zeichensatz": "CP1252",
136
136
  "schnitt": "partial",
137
+ "qrModus": "raster",
137
138
  "ladeAn": false,
138
139
  "ladeAuto": "bar",
139
140
  "terminalIp": "",
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.9.2",
2
+ "version": "0.9.3",
3
3
  "meldungen": {
4
4
  "netz.keine_verbindung": {
5
5
  "text": "Keine Verbindung zum Server. Bitte die Internetverbindung prüfen und erneut versuchen."
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.9.2",
2
+ "version": "0.9.3",
3
3
  "aufrufe": [
4
4
  "activateCashregister",
5
5
  "cancelReceipt",
@@ -138,6 +138,10 @@
138
138
  "mm58",
139
139
  "mm80"
140
140
  ],
141
+ "qrModus": [
142
+ "raster",
143
+ "escpos"
144
+ ],
141
145
  "rabatt": [
142
146
  "aus",
143
147
  "an"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kreiseck/kasseneck-api",
3
- "version": "0.9.2",
3
+ "version": "0.9.3",
4
4
  "description": "JavaScript-Zwilling von kasseneck_api (Flutter) fuer das Kasseneck-Backend",
5
5
  "license": "Apache-2.0",
6
6
  "author": "Kreiseck",