#include <ctype.h>
#include <time.h>
#include <malloc.h>
+#include "latex.h"
#define DEFAULT_EURO
#ifndef DEFAULT_EURO
{"Currency", 127, 1, OPT},
{"Euro", 127, 1, OPT},
{"DM", 127, 1, OPT},
- {NULL, 0, 0}
+ {NULL, 0, 0, 0}
};
#define A_TRANS 0
#else
{"Betrag-DM", 50, 11, IGN},
#endif
- {NULL, 0, 0}
+ {NULL, 0, 0, 0}
};
#define C_NAME 0
#else
{"Summe-DM", 17, 13, IGN},
#endif
- {NULL, 0, 0}
+ {NULL, 0, 0, 0}
};
#define E_COUNT 0
fclose(fdtaus);
}
-int control2dtaus (char *ccontrol, char *cdtaus, char *cbeleg, char *ccheck)
+int control2dtaus (char *ccontrol, char *cdtaus, char *cbeleg, char *ccheck, char *latex)
{
FILE *fdtaus, *fcontrol, *fbeleg, *fcheck;
void *buf;
char *ident;
int recindex;
- char tmp[30];
char line[100];
char *valA[A_LEN], *valC[C_LEN];
int count;
char *cp;
int textindex = 0;
int len, i;
+ char *type = NULL;
+ char *currency = NULL;
+ char date_todo[11];
+ char ssum_val[30], ssum_kto[30], ssum_blz[30];
if (!cdtaus) {
if (!(fdtaus = fopen("dtaus0.txt", "w")))
control_nextline ((void *)line, 100, fcontrol);
}
if (((recindex = rec_index("art", REC_A)) != -1) && valA[recindex] && strlen(valA[recindex])) {
- fprintf(fbeleg, "\n\n");
- fprintf(fbeleg, "\n Begleitzettel\n\n");
- fprintf(fbeleg, "\n Belegloser Datentraegeraustausch\n\n");
if (valA[recindex][0] == 'L')
- fprintf(fbeleg, "\n Sammeleinziehungsauftrag\n\n");
+ type = strdup ("Sammeleinziehungsauftrag");
else if (valA[recindex][0] == 'G')
- fprintf(fbeleg, "\n Sammelueberweisungsauftrag\n\n");
+ type = strdup ("Sammelueberweisungsauftrag");
+ else
+ type = strdup ("Sammelauftrag");
+
+ if (use_euro)
+ currency = strdup ("Euro");
+ else
+ currency = strdup ("DM");
+
+ if (valA[A_TODO])
+ sprintf (date_todo, valA[A_TODO]);
else
- fprintf(fbeleg, "\n Sammelauftrag\n\n");
+ memset (date_todo, 0, sizeof (date_todo));
+
+ fprintf(fbeleg, "\n\n");
+ fprintf(fbeleg, "\n Begleitzettel\n\n");
+ fprintf(fbeleg, "\n Belegloser Datentraegeraustausch\n\n");
+ fprintf(fbeleg, "\n %s\n\n", type);
fprintf(fbeleg, "\n VOL ........................:\n");
fprintf(fbeleg, "\n Erstellungsdatum ...........: %s\n", get_date());
- if (valA[A_TODO]) {
- fprintf(fbeleg, "\n Ausfuehrungsdatum ..........: %s\n", valA[A_TODO]);
+ if (date_todo) {
+ fprintf(fbeleg, "\n Ausfuehrungsdatum ..........: %s\n", date_todo);
}
- if (use_euro)
- fprintf(fbeleg, "\n Waehrung ...................: Euro\n");
- else
- fprintf(fbeleg, "\n Waehrung ...................: DM\n");
+ fprintf(fbeleg, "\n Waehrung ...................: %s\n", currency);
}
if (!dtaus_writeA(fdtaus, valA)) {
fprintf (stderr, "Konnte den Anfangsdatensatz nicht schreiben.\n");
} else {
len = strlen(line);
if (recindex == C_VAL) {
- /* Convert commast to dots for later processing */
+ /* Convert commas to dots for later processing */
for (i=0; line[i]; i++) if (line[i] == ',') line[i] = '.';
- if ((cp = index (line, '.')) == NULL) {
+ if ((cp = strchr (line, '.')) == NULL) {
if (!(valC[recindex] = (char *)malloc (strlen(line)+4)))
return 0;
sprintf (valC[recindex], "%s.00", line);
*/
dtaus_writeE(fdtaus, count, sum_val, sum_blz, sum_kto);
fprintf (fcheck, " --------------------------------------------------------------------\n");
- bigint_sprintf (tmp, "%s", sum_val);
fprintf (fbeleg, "\n Anzahl .....................: %d\n", count);
- recindex=strlen(tmp);
- tmp[recindex+1] = '\0';
- tmp[recindex] = tmp[recindex-1];
- tmp[recindex-1] = tmp[recindex-2];
- tmp[recindex-2] = '.';
- fprintf (fcheck, " %-52s %14s\n", "Summe", tmp);
- fprintf (fbeleg, "\n Summe ......................: %s\n", tmp);
- bigint_sprintf (tmp, "%s", sum_kto);
- fprintf (fbeleg, "\n Kontrollsumme Kontonummern .: %s\n", tmp);
- bigint_sprintf (tmp, "%s", sum_blz);
- fprintf (fbeleg, "\n Kontrollsumme Bankleitzahlen: %s\n", tmp);
+ bigint_sprintf (ssum_val, "%s", sum_val);
+ recindex=strlen(ssum_val);
+ ssum_val[recindex+1] = '\0';
+ ssum_val[recindex] = ssum_val[recindex-1];
+ ssum_val[recindex-1] = ssum_val[recindex-2];
+ ssum_val[recindex-2] = '.';
+ fprintf (fcheck, " %-52s %14s\n", "Summe", ssum_val);
+ fprintf (fbeleg, "\n Summe ......................: %s\n", ssum_val);
+ bigint_sprintf (ssum_kto, "%s", sum_kto);
+ fprintf (fbeleg, "\n Kontrollsumme Kontonummern .: %s\n", ssum_kto);
+ bigint_sprintf (ssum_blz, "%s", sum_blz);
+ fprintf (fbeleg, "\n Kontrollsumme Bankleitzahlen: %s\n", ssum_blz);
fprintf (fbeleg, "\n Unsere Kontonummer .........: %s\n", valA[A_KTO]);
fprintf (fbeleg, "\n Unsere Bankleitzahl ........: %s\n", valA[A_BLZ]);
fprintf (fbeleg, "\n\n\n\n\n __________________________________________________\n");
fprintf (fbeleg, " Ort, Datum Unterschrift\n");
+
+ if (latex)
+ generate_latex_receipt (latex, type, get_date(), date_todo,
+ currency, count,
+ ssum_val, ssum_kto, ssum_blz,
+ valA[A_KTO], valA[A_BLZ]);
+
for (recindex=0; recindex<A_LEN; recindex++)
if (valA[recindex])
free(valA[recindex]);