z.B.
aus dem erfassten Bestand
- O-Sostr-Lager
- O-W13rp-Lager1
- O-W13rp-Lager2
- ...
Rechnungen kalkulieren
- Miete
- BK
- ...

--> /frepjs2000/Fr_Anf_Ang_Auftr_Pflege?submitaction=%2F%3D%2F&datatable_primarykey=25
Grundstücke, Lagerhallen und Co
kann man auch als Stücklisten betrachten.
- 1 - (TxtDoc-lag-z-b-2026-06-12.html)
Damit
- Zwischenablage
- höhere/dynamische Auflösung
funktioniert,
ist auf dem Clientsystem ein passender Gast-Treiber erforderlich.
Konfigration z.B. per virt-manager

--> https://de.wikipedia.org/wiki/SPICE_(Protokoll)
Zugriff von Ausserhalb z.B. mit dem remote-viewer
remote-viewer spice://10.110.10.101:5999
oder
remote-viewer vnc://10.110.10.101:5982
- 2 - (TxtDoc-lag-z-b-2026-06-12.html)
z.B.
try {
dokument.speichern();
datenbank.commit();
status_anzeigen("Daten gespeichert");
}
catch() {
datenbank.rollback();
meldung("speichern fehlgeschlagen");
}
Also, versuche zu speichern:
- wenn's klappt, alles festschreiben
- wenn nicht, alles rückgängig machen und den User informieren
Buffer-Overflows sollten in Script/Runtime/VM-Sprachen auch nicht vorkommen.
( z.B. TypeScript/JavaScript, Java, C#, ... )
Diese benutzen jedoch Bibliotheken, die's ev. mit dem Speicher nicht so genau nehmen.
Oder man benutzt unsafe-Blöcke oder unglückliche Compilerschalter.
( Undefiniertes Verhaltung (UB) glänzt am besten durch Abwesenheit )
C++ ohne UB geht auch -- z.B. mit C++/CLI
jedoch nicht ISO C++ konform.
( Alles mit ^ ist hier auch verwalteter Speicher )
public ref class IntDotnetClass
{
public: int IntValue;
public: IntDotnetClass()
{
this->IntValue = 0;
}
public: virtual ~IntDotnetClass()
{
System::Console::WriteLine("~destruct IntDotnetClass" + IntValue.ToString());
}
public: int operator=( const int IntValue)
{
this->IntValue = IntValue;
return this->IntValue;
}
public: virtual System::String^ ToString() override
{
return IntValue.ToString();
}
};
Weiters stehen zur Vermeidung von Speicherproblemen
- Rust
- Fil-C
- Valgrind
- und ev. bald TrapC
zur Verfügung.
- 3 - (TxtDoc-lag-z-b-2026-06-12.html)
Zusammen mit den aktuellen Stammdaten,
ergibt sich der aktuelle Bedarf.

--> https://jobst-software.net/al_storage/?submitaction=%2F%3D%2F&datatable_primarykey=6
Auch hier, trägt die Last die SQL
Webanwendung und/oder Office ist für Eingabe und Anzeige.
Die SQL kümmert sich um
- Tabellen -- Abfragen
- Benutzer -- Rollen -- Berechtigungen
- Integrität
- Grundlagen für Reports / PDFs
Sparsamer Umgang mit Scripts/Makros fördert
- Systemunabhängigkeit
und
- Sicherheit
- 4 - (TxtDoc-lag-z-b-2026-06-12.html)
Details lassen sich per Kopfrechnung weniger gut überschlagen.
Dafür hat man ev. eine SQL samt Tools.
z.B.

--> https://www.postgresql.org/docs/current/queries-with.html#QUERIES-WITH-RECURSIVE
Eine SQL kann auch helfen mit rekursiven Strukturen umzugehen.
z.B.:
WITH RECURSIVE included_parts( t_nr, apart_artikelnr, artikelnr, par_menge, t1_x_menge) AS (
SELECT 1 as t_nr, apart_artikelnr, artikelnr, 1::numeric as par_menge, menge::numeric as t1_x_menge
FROM frepjs2000.Artikel_AParts WHERE artikelnr like '%Pal%'
UNION ALL
SELECT (t_nr + 1) as t_nr, p.apart_artikelnr, p.artikelnr, (par_menge * 1)::numeric as par_menge, (p.menge * pr.t1_x_menge)::numeric as t1_x_menge
FROM included_parts pr
join frepjs2000.Artikel_AParts p on pr.apart_artikelnr = p.artikelnr
)
SELECT
string_agg( inc_pr.t_nr::varchar, ' ') as t_nrs,
--
inc_pr.artikelnr,
round( SUM( inc_pr.par_menge), 4) as menge,
string_agg( distinct art.mengen_einheit, ' ') as mengen_einheit,
--
inc_pr.apart_artikelnr as t_artikelnr,
round( SUM( inc_pr.t1_x_menge), 4) as t1_x_menge,
string_agg( distinct ap_art.mengen_einheit, ' ') as t_meh,
string_agg( concat( f_n(inc_pr.t1_x_menge), f_meh( ' ', ap_art.mengen_einheit) ), ' + ') as t1_x_menge_dets,
string_agg( concat( inc_pr.apart_artikelnr, ' ', f_n(inc_pr.t1_x_menge), f_meh( ' ', ap_art.mengen_einheit) ), ' + ') as t1_x_menge_dets_ex
FROM included_parts inc_pr
join frepjs2000.artikel art on inc_pr.artikelnr = art.artikelnr
join frepjs2000.artikel ap_art on inc_pr.apart_artikelnr = ap_art.artikelnr
GROUP BY
inc_pr.artikelnr, inc_pr.apart_artikelnr
;
- 5 - (TxtDoc-lag-z-b-2026-06-12.html)