co = cr = ch = 0;
- if ((fp=fopen(argv[1], "rt")) == NULL) {
+ if ((fp=fopen(argv[1], "wt")) == NULL) {
printf("No se pudo generar archivo de salida.\n");
return 1;
}
for(i=0; i<CANT; i++) {
fprintf(fp, "\t<FACTURA NroFac=\"%d\" ", i);
fprintf(fp, "FechaEmisiĆ³n=\"2004%02d%02d\" ", (i<(CANT/2))?4:5, al_azar(1, 30));
+ fprintf(fp, "FechaVto=\"2004%02d%02d\" ", (i<(CANT/2))?4:5+al_azar(1,3), al_azar(1, 30));
+ fprintf(fp, "NroRemito=\"%02d\" ", al_azar(1, 99999999));
/* Genero la info importante */
/* Selecciono la forma de Pago (FP) */
if (i < CANT*0.3) { /* FP = "CH" */
cr++;
if (cr <= CANT*0.3*0.08) { /* Hasta el 8 % */
fprintf(fp, " Estado=\"CM\" ");
+ if (al_azar(0, 6) > 3) { /* Decido si uso CR */
+ fprintf(fp, " PorcDoI=\"%2.2f\" ", al_azar(25, 125)/5.0f);
+ }
} else if (cr <= CANT*0.3*0.4) { /* Desde 8 a 40 = 32% */
fprintf(fp, " Estado=\"CD\" ");
+ if (al_azar(0, 6) > 3) { /* Decido si uso CR */
+ fprintf(fp, " PorcDoI=\"%2.2f\" ", al_azar(25, 125)/5.0f);
+ }
} else if (cr <= CANT*0.3) { /* Desde 40 a 100 = 60% */
fprintf(fp, " Estado=\"PN\" ");
+ if (al_azar(0, 6) > 3) { /* Decido si uso CR */
+ fprintf(fp, " PorcDoI=\"%2.2f\" ", -1.0f*al_azar(25, 125)/5.0f);
+ }
}
fprintf(fp, "NroCtaCte=\"%d\" ", al_azar(111111, 99999));
} else if (i < CANT) { /* FP = "CO" */
- fprintf(fp, " FP=\"CO\" Estado=\"PN\" ");
+ /* Pago contado simpre tiene 5% de descuento */
+ fprintf(fp, " FP=\"CO\" Estado=\"PN\" PorcDoI=\"-5.0\" ");
}
fprintf(fp, ">\n");
fprintf(fp, "\t\t<NOTA>%s</NOTA>\n", dict_get_al_azar(notas));