]> git.llucax.com Git - z.facultad/75.06/emufs.git/blobdiff - emufs_gui/genera_art/genera_fact.c
* Agrego archivo que me falto.
[z.facultad/75.06/emufs.git] / emufs_gui / genera_art / genera_fact.c
index 6086566331cacdb7f3ff0f1fcd9130a7e4dbd8ec..2b18a940699cc7ed992be922b2e76844541cd908 100644 (file)
@@ -40,7 +40,7 @@ int main(int argc, char *argv[])
 
        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;
        }
@@ -57,6 +57,8 @@ int main(int argc, char *argv[])
        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" */
@@ -75,14 +77,24 @@ int main(int argc, char *argv[])
                        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));