+ tmp->fp = emufs_crear("facturas", tipo-1, tam_bloque, sizeof(t_Factura)-sizeof(char *)-sizeof(t_Item*)+cant_items*sizeof(t_Item));
+ tmp->fp_texto = emufs_crear("notas", 1, 420, 400);
+ for (node=inicio ; node ; node = node->next) {
+ if (node->type == XML_ELEMENT_NODE) {
+ if (strcmp(node->name, "FACTURA") == 0) {
+ t_Factura fact;
+ void *save;
+ memset(&fact, '*', sizeof(t_Factura));
+ fact.numero = atoi(xml_get_prop(node, "NroFac"));
+ fact.procdoi = atoi(xml_get_prop(node, "porcDoI"));
+ fact.numero_remito = atoi(xml_get_prop(node, "NroRemito"));
+ strcpy(fact.emision, xml_get_prop(node, "FechaEmisión"));
+ strcpy(fact.vencimiento, xml_get_prop(node, "FechaVto"));
+ strcpy(fact.estado, xml_get_prop(node, "Estado"));
+ strcpy(fact.fp, xml_get_prop(node, "FP"));
+ strcpy(fact.ctacte, xml_get_prop(node, "NroCtaCte"));
+ strcpy(fact.cheque, xml_get_prop(node, "NroCheque"));
+
+ fact.nota = leer_nota(node);
+ fact.items = leer_items(node, &fact.cant_items, (tipo==3)?10:-1);
+
+ save = procesar_guardar_factura(&fact, lst_facturas, &size);
+ if (save != NULL) {
+ id = tmp->fp->grabar_registro(tmp->fp, save, size, &error);
+ fprintf(stderr, "Voy a grabar el texto [%d]\n", strlen(fact.nota));
+ id_texto = tmp->fp_texto->grabar_registro(tmp->fp_texto, fact.nota, 400, &error);
+ fprintf(stderr, "Todo ok : ID=%lu , txtID=%lu\n", id, id_texto);
+ agregar_nodo_factura(tmp, crear_nodo_factura(id, id_texto, fact.numero));
+ free(save);
+ }
+ }
+ }
+ }
+ xmlFreeDoc(document);
+ xmlCleanupParser();