From 83fffcd31f4f647a17d02d93086b21a1be5dfec4 Mon Sep 17 00:00:00 2001 From: Jeilyn Peguero Date: Sat, 7 Nov 2026 17:10:29 -0400 Subject: [PATCH] ccprmt002: no crear un segundo contador PG por vendedor (rompia ccprmt001) ccprmt001/003/005 leen cctb00003 por tipo_doc esperando una sola fila. En SQL Server un SELECT INTO que devuelve varias filas da -284 (en Informix tomaba la primera). Al dar de alta un rango, ccprmt002 insertaba una fila PG por vendedor y, con ella, nadie podia registrar recibos. Ahora solo crea la fila si no existe ninguna PG. Co-Authored-By: Claude Sonnet 5.5 --- PROYECTO/ccdir/ccprmt002.4gl | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/PROYECTO/ccdir/ccprmt002.4gl b/PROYECTO/ccdir/ccprmt002.4gl index d270b6c..22cb7e6 100644 --- a/PROYECTO/ccdir/ccprmt002.4gl +++ b/PROYECTO/ccdir/ccprmt002.4gl @@ -51,6 +51,7 @@ END FUNCTION FUNCTION ccpcad002() DEFINE hoy CHAR(10) +DEFINE n_pg INTEGER ## Captura los datos que va a contener el registro # WHENEVER ERROR CONTINUE @@ -201,9 +202,11 @@ DEFINE hoy CHAR(10) CALL msg(numero_msg) NEXT FIELD sec_a END IF - SELECT *FROM cctb00003 WHERE sec_vend = relacion.sec_vend AND - tipo_doc = "PG" - IF status = notfound THEN + -- G6: el contador de recibos PG es uno solo (ccprmt001/003/005 lo leen por tipo_doc); + -- crear otra fila por vendedor hace que esos programas fallen con -284 + LET n_pg = 0 + SELECT COUNT(*) INTO n_pg FROM cctb00003 WHERE tipo_doc = "PG" + IF n_pg = 0 THEN INSERT INTO cctb00003 (cod_vend,sec_vend,ult_recibo,us_crea, fech_crea,tipo_doc) VALUES (null,relacion.sec_vend,relacion.sec_de,