Files

60 lines
1.9 KiB
Plaintext

FUNCTION btipo_fact(ptipo_doc)
DEFINE arrtipofact ARRAY[50] OF RECORD
codigodgii CHAR(16),
descripcion CHAR(80),
fecha_vencimiento DATE
END RECORD,
ptipo_doc CHAR(2),
codigodgii CHAR(16),
descripcion CHAR(30),
idx,curr1,numero_msg SMALLINT,
fecha_vencimiento DATE,
vmensaje STRING
OPEN WINDOW tipofactura AT 7,12 WITH FORM "ccfmwd018"
ATTRIBUTE (BORDER,FORM LINE FIRST + 2,COMMENT LINE LAST,MESSAGE LINE LAST)
# fecha_vencimiento se lee como fecha (no como texto dd/mm/aaaa, que dependia
# del formato de fecha del servidor) y disponible sin importar mayuscula/minuscula
DECLARE busca_tipo CURSOR FOR
SELECT a.codigo_dgii,a.tipo_ncf,a.fecha_vencimiento FROM vetb00071 a
WHERE a.tipo_doc = ptipo_doc and UPPER(a.disponible) = "S"
LET idx = 1
FOREACH busca_tipo INTO arrtipofact[idx].*
LET idx = idx + 1
END FOREACH
# Sin comprobantes: avisa en vez de mostrar la ventana en blanco
IF idx = 1 THEN
LET vmensaje = "No hay comprobantes disponibles para el tipo de documento ",
ptipo_doc CLIPPED, ".\nRegistrelo en el administrador de NCF (veprmt020)",
" con Disponible = SI."
CALL fgl_winmessage("NCF",vmensaje,"exclamation")
CLOSE WINDOW tipofactura
LET int_flag = TRUE
RETURN NULL,NULL
END IF
IF int_flag THEN
LET numero_msg = 2
CALL msg(numero_msg)
LET int_flag = FALSE
CLOSE WINDOW tipofactura
END IF
CALL set_count(idx-1)
DISPLAY ARRAY arrtipofact TO s_tipo.*
LET curr1 = arr_curr()
LET codigodgii = arrtipofact[curr1].codigodgii
LET descripcion = arrtipofact[curr1].descripcion
IF arrtipofact[curr1].fecha_vencimiento > MDY(5,1,2018) THEN
LET fecha_vencimiento =arrtipofact[curr1].fecha_vencimiento
ELSE
LET fecha_vencimiento = NULL
END IF
CLOSE WINDOW tipofactura
RETURN codigodgii,fecha_vencimiento
END FUNCTION