La respuesta es SI, pero no te sirve.
La situacion es esta, yo solo ofreci la forma de generar la factura, pero NO DE ADMINISTRAR la facturacion, eso de Administrar se refiere a llevar el control de los folios, de los clientes, de si la factura ya esta pagada o no, de si esta cancelada o activa.
Ese es otro asunto muy aparte y muy especifico, para llevar esa Administracion deben usar una base de datos, de que tipo? de la que sea.....y el Reporte Mensual debe basarse en dicha base de datos.
ES POR ESO QUE NO SE PUEDE DESARROLLAR UNA RUTINA "UNIVERSAL" PARA EL REPORTE MENSUAL, PORQUE NO SE TIENE DE ANTEMANO LA LISTA DE FACTURAS ELABORADAS Y ALGO MUY IMPORTANTE, TAMPOCO SE TIENE UNA FORMA UNIVERSAL PARA LLEVAR EL CONTROL DE LAS FACTURAS CANCELADAS, cada quien va a tener su propio metodo de control.
Ahora, el reporte "es una vacilada", en pseudocodigo es mas o menos asi :
Código: Seleccionar todo
abrirnuevoarchivo(arch,'nombredelarchivo'); //nombre del archivo debe llevar un '1' el RFC y el mes y año del reporte, ejemplo : 1XXX080604XXX122010.txt
query = select * from tablafacturas where mes=mesdelreporte;
while not eof query do
begin
renglon := query.RFC + | + query.serie + | + query.folio + | ....1....(chequen el anexo 20)...| + query.fechadepedimento + | query.aduana; //1 = factura elaborada
appendtofile(arch,renglon);
if query.facturacancelada=true then
renglon := query.RFC + | + query.serie + | + query.folio + | ....0....(chequen el anexo 20)...| + query.fechadepedimento + | query.aduana; //0 = factura cancelada
appendtofile(arch,renglon);
query.next;
end;