@abrakadaber, nie szalej... wzór wydruku można sobie zrealizować na wiele sposobów, niekoniecznie trzymając się sztywno gotowych rozwiązań... formatowanie można sobie spokojnie zrobić jako rtf czy nawet html... rozwiązań jest wiele...
jeśli chodzi o zapisanie wzoru, to tak pobieżnie i na szybko patrząc na wymagania poszedłbym może w stronę czegoś takiego:
id_wzoru |
nazwa_wzoru |
model_wzoru |
wprowadzony |
1 |
umowa o telefon |
2011 |
2011-01-01 |
2 |
umowa o telefon |
2012 |
2012-01-01 |
masz umowy na to samo, ale z innym "modelem" - program może po wybraniu wybierać najbardziej "aktualny", najnowszy do wypełnienia
jeśli chodzi o sam wzór można go zapisywać np. jako:
Umowa z dnia {system_date}
pomiędzy panem {client_name}
kwota: {price_variant}
gdzie te wszystkie rzeczy w {}
są zastępowane przez program tym czym potrzeba... w tym momencie w programie pozwala Ci skorzystać z danych, np. jeśli wzór tego typu {rodzaj_wybór} ma przedrostek client
, to wiesz, że w tym miejscu musisz dać przycisk "pokaż klientów" i z tego wyboru zastąpić to {client_name} wybranymi danymi klienta, coś takiego {system_date} jest automatycznie zastępowany systemową datą itp. itd.
razem z umowami (czy w dodatkowym polu, czy tabeli czy w xml-u) możesz mieć zawarte warianty opłat, np.:
<price_variant>
<name="podstawowy" price="100">
<name="rozszerzony" price"200">
</price_variant>
itp. itd. a formatowanie tekstu to już kwestia wyboru: xml, html, rtf - każde da się względnie prosto zrealizować...
czyli w najprostszym przypadku miałbyś tabelę:
id_wzoru |
nazwa_wzoru |
model_wzoru |
wprowadzony |
wzor |
parametry |
1 |
umowa o telefon |
2011 |
2011-01-01 |
Umowa z dnia {system_date} pomiędzy panem {client_name} kwota: {price_variant} |
<price_variant><name="podstawowy" pricece="100"><name="rozszerzony" price"200"></price_variant> |
BTW: możesz sobie np. po załadowaniu takiego formularza do programu wymusić na programie odczytanie wszystkich {}
i w kolejce, na kolejnych polach dialogowych poprosić wpisującego o wpisywanie danych, które trafią w odpowiednie miejsce... rozwiązań od cholery i trochę...