Registra noprmt011 y corrige bugs de fecha y borrado de cuota compartida
Se agrega noprmt011 (Control Prestamos y Facturas) al proyecto usando nofmmt011.4fd (nofmmt011.per no tenia el campo valor_cuota requerido). Se corrige conversion CONVERT(CHAR,fecha,103) hacia variable DATE en nopcmf011(), que causaba error -1205 "Invalid month in date" al navegar con Siguiente/Anterior cuando el dia del mes era mayor a 12. Se corrige eLiminar: el DELETE FROM notb00003 era incondicional y borraba la cuota compartida del empleado+movimiento aunque quedaran otros documentos activos en notb00011 dependiendo de ella. Ahora solo se borra si no quedan documentos activos para ese empleado+movimiento. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 5
parent
64f5e612d9
commit
5baf191a88
@@ -476,6 +476,7 @@
|
||||
<File filePath="nodir/nofmmt008.4fd"/>
|
||||
<File filePath="nodir/nofmmt108.per"/>
|
||||
<File filePath="nodir/nofmmt208.per"/>
|
||||
<File filePath="nodir/nofmmt011.4fd"/>
|
||||
</Library>
|
||||
<Library binaryName="FUNCIONES_NO" id="-306412216" label="FUNCIONES_NO">
|
||||
<File filePath="nodir/noprgb000.4gl"/>
|
||||
@@ -502,6 +503,10 @@
|
||||
<Configuration commandLineArguments="alopez Lopez2023" id="-700000054" label="Configuration"/>
|
||||
<File filePath="nodir/noprmt008.4gl"/>
|
||||
</Application>
|
||||
<Application binaryName="noprmt011" dependencies="-1026233879,-764824792,-306412216,-335228674" id="-700000055" label="noprmt011">
|
||||
<Configuration commandLineArguments="alopez Lopez2023" id="-700000056" label="Configuration"/>
|
||||
<File filePath="nodir/noprmt011.4gl"/>
|
||||
</Application>
|
||||
</Group>
|
||||
<Group id="1667448785" label="PRODUCTOS TERMINADOS">
|
||||
<Library binaryName="FORMULARIOS_IP" dependencies="-1026233879" id="-1826025351" label="FORMULARIOS_IP">
|
||||
|
||||
@@ -237,7 +237,8 @@ GOTO entrada
|
||||
|
||||
END FUNCTION
|
||||
|
||||
FUNCTION nopcmf011()
|
||||
FUNCTION nopcmf011()
|
||||
DEFINE cnt_activos INTEGER
|
||||
## Aqui se prepara para la captura del criterio de seleccion
|
||||
LET monto2 = 0
|
||||
DISPLAY BY NAME monto2
|
||||
@@ -255,7 +256,7 @@ FUNCTION nopcmf011()
|
||||
|
||||
LET SELEC =
|
||||
"SELECT a.num_emp,a.departamento,a.nivel_emp,a.cod_puesto,",
|
||||
"num_doc,a.cod_mov,CONVERT(CHAR(10),a.fecha,103),a.monto,a.porciento,a.status_t,a.us_crea,",
|
||||
"num_doc,a.cod_mov,a.fecha,a.monto,a.porciento,a.status_t,a.us_crea,",
|
||||
" a.fech_crea,a.us_mod,a.fech_mod FROM notb00011 a WHERE a.status_t is null and ",
|
||||
criterio clipped," ORDER BY a.cod_mov,a.num_emp,a.fecha"
|
||||
|
||||
@@ -449,8 +450,17 @@ END INPUT
|
||||
notb00008.cod_mov = presta.cod_mov AND
|
||||
notb00008.clase_mov = 'F'
|
||||
|
||||
DELETE FROM notb00003 WHERE cod_mov = presta.cod_mov AND num_emp = presta.num_emp
|
||||
|
||||
-- Solo se elimina la cuota compartida si no quedan otros
|
||||
-- documentos activos del mismo empleado+movimiento; de lo
|
||||
-- contrario esos otros documentos se quedarian sin cuota.
|
||||
SELECT COUNT(*) INTO cnt_activos FROM notb00011
|
||||
WHERE num_emp = presta.num_emp AND cod_mov = presta.cod_mov
|
||||
AND status_t IS NULL
|
||||
|
||||
IF cnt_activos = 0 THEN
|
||||
DELETE FROM notb00003 WHERE cod_mov = presta.cod_mov AND num_emp = presta.num_emp
|
||||
END IF
|
||||
|
||||
COMMIT WORK
|
||||
LET numero_msg = 39
|
||||
CALL msg(numero_msg)
|
||||
|
||||
Reference in New Issue
Block a user