OBS/Adminhilfe/RTF: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
Pape (Diskussion | Beiträge) |
||
| Zeile 18: | Zeile 18: | ||
== Druckanpassungen == | == Druckanpassungen == | ||
'''WICHTIG''' Bei Pax-Drucken müssen alle Inc(y,z) und Dec(y,z) durch y:= y +/- z ersetzt werden<br/> | |||
'''WICHTIG!''' Für den Langtextdruck im RTF-Format gibt feste Funktionen in ''QStandard.inc''. Diese sind hier nur zu verwenden. Zusätzliche Variablen werden nicht benötigt. | '''WICHTIG!''' Für den Langtextdruck im RTF-Format gibt feste Funktionen in ''QStandard.inc''. Diese sind hier nur zu verwenden. Zusätzliche Variablen werden nicht benötigt. | ||
Version vom 9. Dezember 2014, 11:44 Uhr
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
WICHTIG Bei Pax-Drucken müssen alle Inc(y,z) und Dec(y,z) durch y:= y +/- z ersetzt werden
WICHTIG! Für den Langtextdruck im RTF-Format gibt feste Funktionen in QStandard.inc. Diese sind hier nur zu verwenden. Zusätzliche Variablen werden nicht benötigt.
In den vars hinzufügen (Vorbildprint nur wenn auch Bilder ausgedruckt werden sollen):
vorbildprint : String;
Nach
// KOPFTEXT ANFANG
suchen und den Abschnitt durch folgendes ersetzen:
if (lKopfFuss) then begin
cBuffer := A_Query.A2C('a_kopftext');
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!
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;
Falls direkt auf den Langtext folgende Zeilen aufgerufen werden, sollten diee entfernt werden.
if (y >= iSeitenlaenge - iFusszeilen) then begin
break;
end;
Wiederholen, bis alle az_memofeld-Benutzungen (3x) in Positionen so umgestellt sind.
Die Vorgangslangtexte müssen ebenfalls angepasst werden. Dazu alles im Positionstyp 1 mit folgenden Zeilen ersetzten:
cBuffer := AZ_Query.A2C('az_memofeld');
if (not empty(cBuffer)) then begin
Inc(y);
if (TitelLangtextDruck(cBuffer,nWelcheZeile,cWo,cWelcheZeile,cResultVor,GetTextBreite('1'))) then begin
break;
end;
Dec(y);
end;
Alles was in PosTyp 7 steht, muss durch folgedes ersetzt werden:
if (DruckeTitel(cResultvor,cWo,cWelcheZeile,nWelcheZeile,i,'az_memofeld')) then begin
break;
end;
In Positionen am Ende des Cases einen neuen Punkt
17 : begin
if (Pagebreak(cWo,cResultvor)) then begin
break;
end;
end;
hinzufügen.
Am Ende von Positionen();
if ( (empty (cWo))
durch
if ( (empty (cWo)) and (AZ_Query.EoF) ) then begin
ersetzen.
In der Printfunktion !muss!
TextFussRich();
gegen
TextFuss();
ausgetauscht werden!
Für den Fall, dass ein Repa umgestellt werden muss, ist folgendes zu beachten!:
iZeilen := MLCount(cBuffer,100);
for i := 1 to iZeilen do begin
qRep_Text3(EZ,iLinkerRand,qRep_Ypos(EZ,y),MemoLine(cBuffer,100,i));
Inc(y,0.8);
end;
Muss durch
if (not empty(Alltrim(cbuffer))) then begin
LangtextDruck_XPos(cBuffer,iLinkerRand,cResultVor);
Inc(y,0.8);
cBuffer := '';
end;
ersetzt werden.
Bekannte RTF-Bugs
- Höhenberechnung bei Aufzählungen mit Aufzählungszeichen nicht korrekt (Zeilenhöhe ist etwas höher). Bei nummerierter Aufzählung keine Probleme.