|
QM-QtrExporter |
QM-QtrExporternależy:
Po dodaniu wpisu plik "qline.txt" powinien wyglądać tak jak ten poniżej
record
{
Sep = record
{
Host = "seplib" ;
Port = 2507;
};
Application = record
{
Modules = recordarray
{
MODULE, QCON, TRIGGER_SET;//, TRANSLATION_FILE;
"LARRANGER", null, "qline.labelsarranger.LabelsArrangerTrigger";
"QTENBERG", "qtenberg/qtenberg.qcon", "qline.qtenberg.QtTrigger";
"QTREXPORTER", "qtrexporter.qcon", qtrexporter.QtrExporterTrigger;
"QLINE", null, "qline.export.ExportTrigger";
"QLINE", null, "qline.misc.TextImporterTrigger";
"QLINE", null, "qline.qlicense.LicenseTrigger";
"QLINE", null, "qline.misc.ColorMaskSelectorTrigger";
"QLINE", null, "qline.tools.TriggerNarrowBrowser";
"QLINE", null, "qline.backup.triggers.BackupTrigger";
"QLINE", null, "qline.misc.GroupStatisticsTrigger";
//------------------------------------------------------------------------------------------------
"QSZKIELET", "qcon/struct.qcon", null;
};
}
|
Drugim krokiem przy dodawaniu modułu QM-QtrExporter
do programu jest przygotowanie odpowiednich eksportów, co opisane jest poniżej.
W pliku "struct.qcon" każdy eksport należy wpisać, jako oddzielną akcję menu. Można przykładowo utworzyć okno dotyczące eksportu.
MENU ExpMenu
TITLE="Export danych"
{
ID ACTION NAME;
CLIENT QTREXPORTER CLIENT; "Export kontrahentów";
CENTRE QTREXPORTER ALL; "Export pełen";
}
|
Menu podłączamy w odpowiednim punkcie programu.
Po zastosowaniu zmian można uruchomić program i korzystać z udosępnionych eksportów.
Wszystkie eksporty definiowane dla programu muszą być umieszczone w pliku "export.cfg". Ma on budowę hierarchiczną, bezkontekstową.
W głównym rekordzie znajdują się informacje dotyczące całego mechanizmu eksportu oraz specyfikacje poszczególnych eksportów.
Rekordy opisujące poszczególne eksporty są identyfikowane unikalną nazwą (np. ALL, CLIENT).
Zastrzeżone nazwy pól podsumowuje poniższa tabela.
| Pole | Typ | Wartość | Opis |
| FileName | String | Np. "export/q-ksiegapir-%r-%d-%t.qtr" | Ścieżka i format nazwy pliku tworzonego w ramach eksportu |
Każdy rekord opisujący dany eksport zawiera komplet niezbędnych informacji. Żadne parametry nie są dzielone.
| Pole | Typ | Wartość | Opis |
| COMPRESS | String | "YES"/"NO" | Stosowanie kompresji |
| EXPORT | Array | Rekordy | Opisuje sposób przeprowadzania eksportu. Każdy rekord zawiera sposób przeglądania innej tabeli |
| UNICODE | String | "YES"/"NO" | Format unicode |
Dla wygody eksport oparty o przejrzenie jednej tabeli można specyfikować na poziomie parametrów rekordu eksportu, zamiast w drzewie pola EXPORT. Wymieszanie parametrów dotyczących ogółu eksportu i sposobu jego przeprowadzenia nie prowadzi w przypadku jednej tabeli do niejednoznaczności lub zaciemnienia obrazu.
Rekord opisujący sposób przeglądania pojedynczej tabeli. Przeglądanie rozpoczyna się od pierwszego rekordu według danego uporządkowania.
| Pole | Typ | Wartość | Opis |
| BASE | String | Np. "BOOK" | Tabela bazowa |
| EVH_FLD | Array | Rekordy | Kolejne rekordy opisują powiązane z tabelą główną słowniki i historie |
| KEY | String | Np. "ID" | Uporządkowanie, według którego będzie przeglądana tabela |
| TAB | String | Np. BOOK_EDIT | Nazwa taba, na podstawie którego będą budowane odniesienia do historii i słowników |
| TABLE_OPTIONS | Record |   | Opcje dotyczące sposobu importu danej tabeli |
| TYPE | String | "ALL"/ "NONE"/ "SELECTED"/ "NARROWED" | Ogólne określenie, które rekordy będą brane pod uwagę przy przechodzeniu |
Opcje importu pojedynczej tabeli
| Pole | Typ | Wartość | Opis |
| IMPORT_OPTION | String | "DELALL"/ "NEWONLY"/ "MODIFY" | Opcja zostanie wpisana w generowany plik qtr i określi, które rekordy zostaną zaimportowane do programu |
Opis słowników i historii importowanych razem z głównym spisem oparty jest o wybrany TAB. Każda powiązana tabela może mieć własne parametry importu.
| Pole | Typ | Wartość | Opis |
| ID | String | Np. RVATS | Nazwa pola taba posiadającego kolumnę EVH opisującą dany słownik lub historię |
| TYPE | String | "H"/"V" | Typ tabeli powiązanej (historia/słownik) |
| TABLE_OPTIONS | Record |   | Opcje importu tabeli |
Przykładowo:
EVH_FLD = recordarray
{
ID, TYPE, TABLE_OPTIONS; // H - Historia V-slownik
"CLIENT", "V" , record{IMPORT_OPTION="MODIFY"; };
"RVATS", "H" , record{IMPORT_OPTION="NEWONLY"; };
"RVATB", "H" , record{IMPORT_OPTION="NEWONLY"; };
};
|
| Data | Pytanie | Kto | Odpowiedź |