OBS/Adminhilfe/RTF
Dies ist eine zugriffsgeschützte Seite.
- System Überwachung
- DEP deaktivieren
- Darstellung unter Windows 7
- Einwahl auf Windows 2000 Server
- Preislisten
- Datenbank Sicherung
- Customize
- Zentrale
- Support Macro
- Service Debug
- Historienprotokoll (Datenänderung OBS)
- Fernwartungsprobleme
- Startparameter
- Fehler beim Kassenabschluss
- Diverse Informationen
- A ras.pbk
- B Command Line Interpreter
- C File Zilla Benutzer XML erzeugen
- D1 OBS_UPDATE.EXE zum OBS Update Server hochladen
- D2 SUPPORT_MACRO zum OBS Update Server hochladen
- H1 Remote Service Protokoll-Übersicht (Alles)
- H Remote ServiceProtokoll-Übersicht
- I Remote Service Commands
- I1 (Admin) Globaler Hinweis für Updates
- J Liste der OBS Updates
- K Angemeldete Service Firmen
- L Systeminformationen einlesen
- M Kundendaten anzeigen
- M1 Kundendatenbankinformationen anzeigen
- N Kundendaten einlesen
- O Kunden-Update Informationen anzeigen
- P Modul Registrierung OBS
- Q App Verwaltung
- S1 Firmen Statistik Protokolle OBS
- S2 Statistik Notfallkassen
Häufige RTF-Probleme
SQL-Querys
Es kann bei einigen Altlasten passieren das leere RTF-Strings in der Datenbank existieren. Mit folgendem SQL-Statement kann man diese heraus löschen:
update artikel set a_langtext = ''
where a_langtext = '{\\rtf1\\ansi\\deff0{\\fonttbl{\\f0\\fnil MS Sans Serif;}}\r\n\\viewkind4\\uc1\\pard\\lang1031\\f0\\fs16 \r\n\\par }\r\n\0'
Umstellung auf RTF
Was ist zu tun?
- PMode 916 auf Ja stellen
- Drucke für RTF anpassen
- Kontrollieren ob die Wörterbuchdateien (Datei:DICT.ZIP) im Verzeichnis (obs\data\DICT\) liegen
Druckanpassungen
In den vars hinzufügen (Vorbildprint nur wenn auch Bilder ausgedruckt werden sollen):
vorbildprint : String;
nRTFStart : integer;
nRTFCharCount : integer;
Nach
// KOPFTEXT ANFANG
suchen und den Abschnitt durch folgendes ersetzen:
if (lKopfFuss) then begin
cBuffer := A_Query.FieldByName('a_kopftext').asString;
if (not empty(Alltrim(cbuffer))) then begin
LangtextDruck(cBuffer,'posnr',cResultVor);
Inc(y,0.5);
cBuffer := '';
end;
end;
ACHTUNG! Nur im vorgangsdruck Angebot mit Bedingung lKopfFuss!
Nach
procedure Positionen();
suchen und in den Vars einfügen:
nAnzCharDruck : Integer;
cRTFOrg : String;
nLMemo : Integer;
Die Variable cResultVor ist in allen Prozeduren zu deklarieren, in denen Langtexte gedruckt werden. Sie ist am Anfang leer zu initialisieren.
Nach
cBuffer := AZ_Query.FieldByName('az_memofeld').asString;
oder bei Kasse:
cBuffer := AZ_Query.FieldByName('az_langtext').asString;
in Positionen(); suchen und alles was in nachfolgendem IF vorkommt ersetzen mit:
if (not empty(cBuffer)) then begin
if (empty (cResultvor)) then begin
inc(y);
end;
if PositionLangtextDruck(cBuffer,nWelcheZeile,cWo,cWelcheZeile,cResultVor,RTF_LANGTEXT) then begin
break;
end;
Dec(y);
end;
if (y >= iSeitenlaenge -iFusszeilen) then begin
break;
end;
Wiederholen, bis alle az_memofeld-Benutzungen (3x) in Positionen so umgestellt sind.
In Positionen am ende des Cases einen neuen Punkt
17 : begin
if Pagebreak(cWo,cResultvor) then begin
break;
end;
end;
hinzufügen.
Suche
TextFuss();
Ersetzen durch
TextFussRich();
Für das Drucken von Bildern nach
cBuffer := AZ_Query.A2C('az_bez2');
in Positionen suchen, danach hinzufügen:
// Bildermodul-Funktionsaufruf
BilderModul(AZ_Query,vorbildprint);
Wichtig ist hierbei, dass nach dem Langtext y inkremetiert wird, falls y niedriger ist, als das Bildende. Für die feste Bildgröße gibt es die Konstante PIC_HEIGHT (deklariert in QStandard.inc). Einzufügen ist im Code folgendes:
neue Variable in Positionen():
nPicPos : Integer;
Setzen nach Bildermodul-Aufruf:
// Bildermodul-Funktionsaufruf
BilderModul(AZ_Query,vorbildprint);
nPicPos := y;
vor Bedingung für PosLine():
if (not empty(vorbildprint)) then begin
if ((nPicPos + PIC_HEIGHT) > y) then begin
y := nPicPos + PIC_HEIGHT;
end;
end;
if Pmode_Nein(303) then begin
PosLine();
PosCalcUebertrag();
end;