modificaciones facturacion electronica
This commit is contained in:
@@ -213,8 +213,34 @@ MAIN
|
||||
EXIT PROGRAM
|
||||
END IF
|
||||
|
||||
# Provincia/municipio del emisor (e-CF) salen de companias, no de vetb00020
|
||||
CALL ubicacion_emisor_dgii(id_provincia_dgii, id_municipio_dgii)
|
||||
RETURNING id_provincia_dgii, id_municipio_dgii
|
||||
|
||||
CALL ccprmt001()
|
||||
END MAIN
|
||||
|
||||
# Provincia y municipio del EMISOR para el e-CF (codigos DGII de 6 digitos)
|
||||
# tomados de companias.id_dgii / companias.id_municipio_dgii.
|
||||
# vetb00020 queda solo para la ubicacion de los clientes.
|
||||
# Si companias no los tiene, se dejan los valores recibidos.
|
||||
FUNCTION ubicacion_emisor_dgii(pprovincia, pmunicipio)
|
||||
DEFINE pprovincia, pmunicipio STRING
|
||||
DEFINE vprovincia, vmunicipio INTEGER
|
||||
|
||||
LET vprovincia = NULL
|
||||
LET vmunicipio = NULL
|
||||
SELECT a.id_dgii, a.id_municipio_dgii
|
||||
INTO vprovincia, vmunicipio
|
||||
FROM companias a
|
||||
IF vprovincia IS NOT NULL THEN
|
||||
LET pprovincia = vprovincia USING "&&&&&&"
|
||||
END IF
|
||||
IF vmunicipio IS NOT NULL THEN
|
||||
LET pmunicipio = vmunicipio USING "&&&&&&"
|
||||
END IF
|
||||
RETURN pprovincia, pmunicipio
|
||||
END FUNCTION
|
||||
####### Funcion para agregar un recibo de pago
|
||||
|
||||
FUNCTION ccprmt001()
|
||||
@@ -280,6 +306,13 @@ FUNCTION ccpcad001()
|
||||
LET idtipo = NULL
|
||||
CALL tiposModificacion()
|
||||
CALL localidades("1")
|
||||
# Lista de la Localidad del encabezado (xsucid): antes no se llenaba
|
||||
# y el campo quedaba vacio sin opciones; por defecto la del usuario
|
||||
CALL localidades("2")
|
||||
IF xsucid IS NULL THEN
|
||||
LET xsucid = codigo_sucursal
|
||||
DISPLAY BY NAME xsucid
|
||||
END IF
|
||||
LET recibo.fecha_orig = fecha1
|
||||
LET valor_ctrl = NULL
|
||||
LET tipo_ant = "RC"
|
||||
@@ -871,7 +904,7 @@ FUNCTION ccpcad001()
|
||||
WHERE kncf BETWEEN a.ncf_inicial AND a.ncf_final
|
||||
AND a.tipo_doc = recibo.tipo_doc
|
||||
AND a.codigo_dgii = codigodgii
|
||||
AND a.disponible = "S"
|
||||
AND UPPER(a.disponible) = "S"
|
||||
|
||||
IF STATUS = NOTFOUND THEN
|
||||
LET numero_msg = 391
|
||||
@@ -884,7 +917,9 @@ FUNCTION ccpcad001()
|
||||
CALL msg(16)
|
||||
NEXT FIELD idtipo
|
||||
END IF
|
||||
IF ptipo_nc IS NULL THEN
|
||||
# El tipo de nota (devolucion / sin ITBIS / otros creditos) solo
|
||||
# aplica a la nota de CREDITO; la de debito no lo lleva
|
||||
IF recibo.tipo_doc = 'NC' AND ptipo_nc IS NULL THEN
|
||||
CALL msg(16)
|
||||
NEXT FIELD ptipo_nc
|
||||
END IF
|
||||
@@ -1800,6 +1835,14 @@ FUNCTION ccpcad001()
|
||||
LET handler =
|
||||
fgl_report_commitCurrentSettings() -- commit changes
|
||||
ELSE
|
||||
# No se encontro el diseno del reporte: avisar (antes salia del programa sin
|
||||
# mensaje y, en NC/ND, sin generar ni enviar el e-CF, que va dentro del reporte)
|
||||
CALL fgl_winmessage("REPORTE",
|
||||
"No se encontro el diseno del reporte: " || r_filename ||
|
||||
"
|
||||
El documento quedo grabado pero NO se imprimio" ||
|
||||
" (en notas de credito/debito tampoco se envio el e-CF a la DGII).",
|
||||
"stop")
|
||||
EXIT PROGRAM
|
||||
END IF
|
||||
--run the report
|
||||
@@ -1865,6 +1908,14 @@ FUNCTION ccpcad001()
|
||||
LET handler =
|
||||
fgl_report_commitCurrentSettings() -- commit changes
|
||||
ELSE
|
||||
# No se encontro el diseno del reporte: avisar (antes salia del programa sin
|
||||
# mensaje y, en NC/ND, sin generar ni enviar el e-CF, que va dentro del reporte)
|
||||
CALL fgl_winmessage("REPORTE",
|
||||
"No se encontro el diseno del reporte: " || r_filename ||
|
||||
"
|
||||
El documento quedo grabado pero NO se imprimio" ||
|
||||
" (en notas de credito/debito tampoco se envio el e-CF a la DGII).",
|
||||
"stop")
|
||||
EXIT PROGRAM
|
||||
END IF
|
||||
--run the report
|
||||
@@ -2277,6 +2328,14 @@ FUNCTION ccpcmf001()
|
||||
LET handler =
|
||||
fgl_report_commitCurrentSettings() -- commit changes
|
||||
ELSE
|
||||
# No se encontro el diseno del reporte: avisar (antes salia del programa sin
|
||||
# mensaje y, en NC/ND, sin generar ni enviar el e-CF, que va dentro del reporte)
|
||||
CALL fgl_winmessage("REPORTE",
|
||||
"No se encontro el diseno del reporte: " || r_filename ||
|
||||
"
|
||||
El documento quedo grabado pero NO se imprimio" ||
|
||||
" (en notas de credito/debito tampoco se envio el e-CF a la DGII).",
|
||||
"stop")
|
||||
EXIT PROGRAM
|
||||
END IF
|
||||
--run the report
|
||||
@@ -2343,6 +2402,14 @@ FUNCTION ccpcmf001()
|
||||
LET handler =
|
||||
fgl_report_commitCurrentSettings() -- commit changes
|
||||
ELSE
|
||||
# No se encontro el diseno del reporte: avisar (antes salia del programa sin
|
||||
# mensaje y, en NC/ND, sin generar ni enviar el e-CF, que va dentro del reporte)
|
||||
CALL fgl_winmessage("REPORTE",
|
||||
"No se encontro el diseno del reporte: " || r_filename ||
|
||||
"
|
||||
El documento quedo grabado pero NO se imprimio" ||
|
||||
" (en notas de credito/debito tampoco se envio el e-CF a la DGII).",
|
||||
"stop")
|
||||
EXIT PROGRAM
|
||||
END IF
|
||||
--run the report
|
||||
@@ -3362,6 +3429,14 @@ FUNCTION ccpcmf001()
|
||||
LET handler =
|
||||
fgl_report_commitCurrentSettings() -- commit changes
|
||||
ELSE
|
||||
# No se encontro el diseno del reporte: avisar (antes salia del programa sin
|
||||
# mensaje y, en NC/ND, sin generar ni enviar el e-CF, que va dentro del reporte)
|
||||
CALL fgl_winmessage("REPORTE",
|
||||
"No se encontro el diseno del reporte: " || r_filename ||
|
||||
"
|
||||
El documento quedo grabado pero NO se imprimio" ||
|
||||
" (en notas de credito/debito tampoco se envio el e-CF a la DGII).",
|
||||
"stop")
|
||||
EXIT PROGRAM
|
||||
END IF
|
||||
--run the report
|
||||
@@ -3429,6 +3504,14 @@ FUNCTION ccpcmf001()
|
||||
LET handler =
|
||||
fgl_report_commitCurrentSettings() -- commit changes
|
||||
ELSE
|
||||
# No se encontro el diseno del reporte: avisar (antes salia del programa sin
|
||||
# mensaje y, en NC/ND, sin generar ni enviar el e-CF, que va dentro del reporte)
|
||||
CALL fgl_winmessage("REPORTE",
|
||||
"No se encontro el diseno del reporte: " || r_filename ||
|
||||
"
|
||||
El documento quedo grabado pero NO se imprimio" ||
|
||||
" (en notas de credito/debito tampoco se envio el e-CF a la DGII).",
|
||||
"stop")
|
||||
EXIT PROGRAM
|
||||
END IF
|
||||
--run the report
|
||||
@@ -5913,7 +5996,7 @@ FUNCTION calculo_nc(documento_alm, pcodigo_mov, tasa, ptipo)
|
||||
FROM iptb00002 a, vetb00003 b, vetb00002 c, iptb00006 d
|
||||
WHERE b.factura = xfactura
|
||||
AND b.factura = c.factura
|
||||
AND b.sucid = c.sucid
|
||||
AND ( b.sucid = c.sucid OR b.sucid IS NULL OR c.sucid IS NULL OR b.sucid = 0 OR c.sucid = 0 )
|
||||
AND a.cod_n = b.cod_n
|
||||
AND a.cod_grupo = b.cod_grupo
|
||||
AND a.cod_tipo = b.cod_tipo
|
||||
@@ -5967,7 +6050,7 @@ FUNCTION calculo_nc(documento_alm, pcodigo_mov, tasa, ptipo)
|
||||
WHERE b.factura =",
|
||||
xfactura,
|
||||
" AND b.factura = c.factura AND
|
||||
b.sucid = c.sucid AND
|
||||
( b.sucid = c.sucid OR b.sucid IS NULL OR c.sucid IS NULL OR b.sucid = 0 OR c.sucid = 0 ) AND
|
||||
a.cod_n = b.cod_n AND a.cod_grupo = b.cod_grupo AND a.cod_tipo = b.cod_tipo AND
|
||||
a.cod_sec = b.cod_sec
|
||||
"
|
||||
@@ -5988,6 +6071,11 @@ FUNCTION calculo_nc(documento_alm, pcodigo_mov, tasa, ptipo)
|
||||
END IF
|
||||
|
||||
END FOREACH
|
||||
IF j = 1 THEN
|
||||
CALL fgl_winmessage("NOTA",
|
||||
"No se encontraron productos con precio en la factura indicada.\nVerifique el numero de factura y su localidad.",
|
||||
"exclamation")
|
||||
END IF
|
||||
DISPLAY BY NAME tvalor_bruto, tdescuento, tsub_total, titbis, tneto
|
||||
INPUT ARRAY arr_articulos
|
||||
FROM sproductos.*
|
||||
|
||||
Reference in New Issue
Block a user