F

LOCAL WNOMBRE,WAPELLIDO,WFACTURA,WRUC,WMONTO,WSTATUS
STORE SPACE(30) TO WNOMBRE,WAPELLIDO,WRUC


*CREATE CURSOR TEXTO 
CREATE CURSOR DETALLE;
  (descripcion c(50),CODIGO C(13),CANTIDAD C(12),precio c(8),ESPACIO C(2),STATUSF C(5))     && campos que van en el detalle, puede variar el ancho
												de un aplicativo a otro
  
SELECT DETALLE

IF M.COD_TIPO= 3 OR COD_TIPO=4 THEN

  INSERT INTO DETALLE (DESCRIPCION) VALUES ("DEVOLUCION " + STR(FACTURA2,8))
ELSE
  INSERT INTO DETALLE (DESCRIPCION) VALUES ("FACTURA  " + STR(FACTURA2,8))
ENDIF

INSERT INTO DETALLE (DESCRIPCION) VALUES ("CLIENTE : " + ALLTRIM(M.NOMBRE_CLI))
INSERT INTO DETALLE (DESCRIPCION) VALUES ("RUC " + ALLTRIM(M.RUC))
INSERT INTO DETALLE (DESCRIPCION) VALUES ("DIRECCION " + ALLTRIM(M.CLI_DIR))
**  (descripcion c(30),cantidad n(9),precio n(8,2),monto n(9,2), status c(3))

SELECT CURMGRID4    &&&& tabla qu  contiene el detalle de la factura
GOTO TOP
SCAN
  SCATTER MEMVAR
  IF M.PROD_ITBM <> 0
     WSTATUS ="7%"
  ELSE
     WSTATUS="0"
  ENDIF
  LOCAL WDESCRIPCIONTXT,WDESCRIPCIONTXT2 
  STORE SPACE(60) TO WDESCRIPCIONTXT,WDESCRIPCIONTXT2   
  WDESCRIPCIONTXT=ALLTRIM(M.DESCRIP)
  FECHA=DATE()
  INSERT INTO DETALLE(DESCRIPCION,CODIGO,CANTIDAD,PRECIO,STATUSF) VALUES (WDESCRIPCIONTXT,M.COD_BARRA,STR(M.CANTIDAD,8,2),STR(M.PRECIO,8,2),wstatus)  
  
ENDSCAN
WERROR="NO"


*WAIT WINDOW "ANTES DEL DETALLE"
SELECT DETALLE
**********  TOTALES
  LOCAL WDESCUENTO2
  STORE 0 TO WDESCUENTO2
  
  ********************************************
  WDESCUENTO2=  ROUND(((WDESCUENTO * 100) / WSUBTOTAL),2)
  *********************************************
  
  *INSERT INTO DETALLE(DESCRIPCION) VALUES ("DESCUENTO  " + STR(WDESCUENTO,8,2))
  INSERT INTO DETALLE(DESCRIPCION) VALUES ("DESCUENTO  " + STR(WDESCUENTO2,8,2))
  INSERT INTO DETALLE(DESCRIPCION) VALUES ("TOTAL NETO " + STR(WTOTAL,8,2))
  IF M.COD_TIPO = 1 .OR. M.COD_TIPO = 3
     INSERT INTO DETALLE(DESCRIPCION) VALUES ("TOTAL CANCELADO   " + STR(WTOTAL,8,2))
     INSERT INTO DETALLE(DESCRIPCION) VALUES ("CONTADO.." + STR(WTOTAL,8,2)) 
  ELSE
     INSERT INTO DETALLE(DESCRIPCION) VALUES ("TOTAL CANCELADO   " + STR(0.00,8,2))
     INSERT INTO DETALLE(DESCRIPCION) VALUES ("CONTADO.." + STR(0.00,8,2)) 
  ENDIF
 
* INSERT INTO DETALLE(DESCRIPCION) VALUES ("EFECTIVO   " + STR(0.00)) 
 INSERT INTO DETALLE(DESCRIPCION) VALUES ("CHEQUES.." ) 
 INSERT INTO DETALLE(DESCRIPCION) VALUES ("TARJETA.." ) 
 
 IF M.COD_TIPO =2 OR M.COD_TIPO = 4
    INSERT INTO DETALLE(DESCRIPCION) VALUES ("CREDITO.." + STR((WITBM + WSUBTOTAL),8,2)) 
 ELSE
    INSERT INTO DETALLE(DESCRIPCION) VALUES ("CREDITO.." + STR(0.00)) 
 ENDIF
  
 
 INSERT INTO DETALLE(DESCRIPCION) VALUES ("DETALLE " + ALLTRIM(M.DETALLE))
 
 IF WEXISTE="NO"
   * INSERT INTO DETALLE(DESCRIPCION) VALUES ("ORDEN COMPRA   " + ALLTRIM(M.ORDEN))
 ELSE
  * INSERT INTO DETALLE(DESCRIPCION) VALUES ("ORDEN COMPRA   " + ALLTRIM(STR(M.ORDEN)))
 ENDIF
  
 IF VARTYPE(M.ORDEN)="C" THEN 
	 INSERT INTO DETALLE(DESCRIPCION) VALUES ("CLIENTE No.: " + ALLTRIM(M.CLIENTE) + " - Orden No.: " + ALLTRIM(m.orden))
 ENDIF
 
 IF VARTYPE(M.ORDEN)="N" THEN
	 INSERT INTO DETALLE(DESCRIPCION) VALUES ("CLIENTE No.: " + ALLTRIM(M.CLIENTE) + " - Orden No.: " + ALLTRIM(STR(m.orden,8))) 
 ENDIF
 
 INSERT INTO DETALLE(DESCRIPCION) VALUES ("FACTURA DEVUELTA." + ALLTRIM(STR(M.factdev,8,0)))

  
   COPY  TO MAXIMIZE2.TMP TYPE SDF

   RENAME MAXIMIZE2.TMP TO C:\FACTURAS\FACTURAKN.001
   erase MAXIMIZE2.TMP
    ENDIF
RETURN


***********////////////////  


*********///////////////
