Un foro de discusión para nuestra comunidad de hispano hablante
By josue1990
#789814
Buenas tardes a todos y todas!!

Necesito hacer lo siguiente:
Copiar un grid a otros tres en otro dynaform. En los otros grids donde se copia, se tiene más campos. Con esto el usuario asignado para el form2 llena campos y elimina filas bajo su conveniencia. En un form3 otro usuario visualiza el trabajo.

La forma en que se me ha ocurrido es lo siguiente:

1. El grid1 es llenado por un usuario en form1. Tengo un trigger que copia el grid1 a una tabla llamada tabla1. Éxito
2. Antes del form2, ejecuto un trigger que copia la tabla1 a los tres grids. Éxito.
3. El usuario asignado llena los demás campos y borra las filas que no necesita.

Inconveniente:
En el form3, en grid2, grid3 y grid4 siguen apareciendo todas las filas que se copiaron de la tabla1.

No me deja eliminar filas de los grids cuando los lleno desde una tabla. Alguien puede ayudarme? Desde ya muy agradecido!!

Notas:
***************************************************************************************************************************
El código para copiar grid1 a tabla1:
Code: Select all
$caseId = @@APPLICATION;
$result = executeQuery("SELECT APP_NUMBER FROM APPLICATION WHERE APP_UID='$caseId'");
$caseNo = $result[1]['APP_NUMBER'];

executeQuery("DELETE FROM tabla1 WHERE CASO='$caseNo'");

for ($rowNo = 1; $rowNo <= count(@=grid1); $rowNo++) {
   $CANTIDAD = @=grid1[$rowNo]['C_CANTIDAD1'];
   $TIPO = @=grid1[$rowNo]['C_TIPO1'];
   $CODIGO_AS = @=grid1[$rowNo]['C_CODIGO1'];
   $DESCRIPCION = @=grid1[$rowNo]['C_DESCRIPCION1'];
   $OBSERVACIONES = @=grid1[$rowNo]['C_OBSERVACIONES1'];
   $query1 = "INSERT INTO tabla1 (CASO, CANTIDAD_PROD, TIPO_PROD, CODIGO_PROD, DESCRIPCION_PROD, OBSERVACIONES)
      VALUES ('$caseNo', '$CANTIDAD', '$TIPO', '$CODIGO_AS', '$DESCRIPCION', '$OBSERVACIONES')";
   executeQuery($query1);
}
******************************************************************************************************************************************************************
Código para copiar tabla1 a grid2, 3 y 4
Code: Select all
$caseId = @@APPLICATION;
$result = executeQuery("SELECT APP_NUMBER FROM APPLICATION WHERE APP_UID='$caseId'");
$caseNo = $result[1]['APP_NUMBER'];

$query1 = "SELECT CANTIDAD_PROD AS C_CANTIDAD1, TIPO_PROD AS C_TIPO1, CODIGO_PROD AS C_CODIGO1,
 DESCRIPCION_PROD AS C_DESCRIPCION1, OBSERVACIONES AS C_OBSERVACIONES1 FROM tabla1 WHERE CASO='$caseNo'";

$query2 = "SELECT CANTIDAD_PROD AS C_CANTIDAD2, TIPO_PROD AS C_TIPO2, CODIGO_PROD AS C_CODIGO2,
 DESCRIPCION_PROD AS C_DESCRIPCION2, OBSERVACIONES AS C_OBSERVACIONES2 FROM tabla1 WHERE CASO='$caseNo'";

$query3 = "SELECT CANTIDAD_PROD AS C_CANTIDAD3, TIPO_PROD AS C_TIPO3, CODIGO_PROD AS C_CODIGO3,
 DESCRIPCION_PROD AS C_DESCRIPCION3, OBSERVACIONES AS C_OBSERVACIONES3 FROM tabla1 WHERE CASO='$caseNo'";

@=grid2 = executeQuery($query1);

@=grid3 = executeQuery($query2);

@=grid4 = executeQuery($query3);
****************************************************************************************************************************************************************
User avatar
By amosbatto
#789834
¿Estas ejecutando el segundo trigger antes de un DynaForm con grid2, grid3 o grid4? Puedes ejecutar una vez before routing. Asi no va a repoblar el grid cada vez que abres el DynaForm.
By josue1990
#789958
amosbatto wrote:¿Estas ejecutando el segundo trigger antes de un DynaForm con grid2, grid3 o grid4? Puedes ejecutar una vez before routing. Asi no va a repoblar el grid cada vez que abres el DynaForm.
Gracias amosbatto, pero aún ejecutando el trigger en before routing, el problema persiste, ya que no se trata de repoblarlo con el trigger. Recalco, cuando el grid es poblado desde una tabla mysql, no puedo eliminar el grid.

A alguien le a pasado lo mismo? Alguna idea?

En espera de alguna ayuda quedo atento.

Desde ya mil gracias por la ayuda!!
By josue1990
#789959
Viendo con detenimiento el error, me estoy percatando de lo siguiente (el error no tiene nada que ver con que se llenen de una tabla mysql):

1. Creo dos grids (grid1, grid2) con x filas cada una, (las que el usuario necesite), en una tarea, para que los llene un usuario.
2. Esos dos grids, los copio en otra tarea, donde el usuario asignado elige las filas que necesita y borra las que no.
3. En una tercera tarea, otro usuario revisa lo que el usuario anterior eligió.

Error: Cuando el usuario en la segunda tarea, por ejemplo, borra todas las filas de un grid (grid1 o grid2), NO SE BORRAN.
El usuario en la tercera tarea ve las filas del grid. No se borran las filas cuando se eliminan todas del grid.

Nota: Cuando se deja una fila o más del grid y se borran las demás, se aplican los cambios.

Lo que necesito es que, si se borran todas las filas, que se puedan aplicar los cambios. O en su defecto, alguna otra idea para hacer el proceso descrito anteriormente?

De antemano, muchísimas gracias por su ayuda!!
Want to create your own meme coin?

In the world of cryptocurrencies, a unique and exc[…]

The market for cryptocurrencies is demonstrating a[…]

What's SAP FICO?

Embarking on a dissertation can be one of the most[…]

Hello. For rental housing, there are software solu[…]