Migracion copies, loanobjects y prestamo

From ABCD Wiki
Jump to: navigation, search

En ABCD2.2 se colocaron las carpetas copies y acquisitions de la versión 2.0f en sustitución de las correspondientes de la versión 1.6.

COPIES

copies_add.php

  • Se modificó la FDT de copies y el formato de entrada new.fmt para que el campo 30 no sea autoincrement y además colocarle la validación de clave única
  • Se modificó dibujarhojadeentrada.php a fin de agregar el llamado a la función onKeyUp="CheckInventory($Etq)" solo cuando la columna 20 del formato de entrada tiene el valor U (clave única). También se agregó el prefijo para la búsqueda de la clave en la columna correspondiente
  • Se agregó a dataentry/scripts_dataentry.php la función CheckInventory(tag) vacía (sin comandos en su interior) ya que en el procedimiento de entrada de datos la validación de duplicados se hace de forma automática en el servidor al invocar el script dataentry/actualizarregistro.php cuando se especifica Clave única. Esta función se agregó para evitar errores de javascript cuando se ejecuta la entrada de datos desde dataentry/fmt.php
  • Se modificó copies_add.php para no condicionar la presentación del input para generación de múltiples copias cuando el campo 30 sea autoincrement
  • Se agregó un gif que se activa cuando se hace el envío de la forma para indicarle al usuario que se está esperando respuesta
  • Se eliminaron líneas no usadas.

Entonces, en el script copies_add.php se mantiene la validación de duplicados por el número de inventario mediante la función onkeyup diseñada por Marcos aún cuando el procedimiento de actualización vuelve a hacer la validación de duplicados al estar el campo definido como "clave única"

check_dup_copies.php

  • Se agregó el inicio de sesión al principio para leer la carpeta bases activa

Verificación de la eliminación de copias

Se puede agregar un formato de validación en la base copies para que verifique que el número de inventario de la copia que se va a eliminar no exista en loanobjects.

Se agrego en dbadmin.tab el mensaje

   recdel_val=Format for record deletion validation

Para crear este formato de validación vaya el menú "Modificar definición de base de datos -> Validación de eliminación de registros" y construya el formato de validación el cual se almacenará en la carpeta pfts del lenguaje activo bajo el nombre recdel_val.pft. Un ejemplo del formato de validación seria el siguiente:

  if npost(['loanobjects']'IN_'v30)<>0 then 'cannot delete the record' fi

El formato de validación de eliminación se lee desde el script dataentry/eliminar_registro.php por lo que puede ser aplicado a cualquier base de datos.

Para activar la validación de la eliminación de registros se agregaron en dbadmin los scripts: recdel_val.php, recdel_test.php y se modificó recval_save.php.

La validación de eliminación de registros, al haber sido incorporada en dataentry aplica para todas las bases de datos

   Nota:  Esta validación funciona bien en el módulo de copias cuando se ejecuta copies_edit_browse.php.
          Sin embargo, si se está ejecutando la validación desde fmt.php entonces, el npost sugerido en el formato de validación
          pudiera no funcionar si las bases de datos están en diferentes versiones. Se está realizando un ajuste a este procedimiento.

Validación de la eliminación de registros en loanobjects

Se puede validar

    if npost(['copies']'CN_'v10,'_'v1)<>0 then 'cannot delete the record'   fi

Creación de bases de datos

Se modificaron los scripts de la creación de la base de datos ya que si se crea una base en unicode y la carpeta base tiene como encoding ISO-8859-1, entonces en el proceso de creación se tiene que modificar el encoding para utf-8 a fin de que la creación funcione correctamente.

Se modificaron los siguientes scripts:

    crearbd_new_create.php
    fdt.php
    fdt_new.php
    fdt_rowedit.php
    fdt_update.php
    fst.php
    fdt_leer.php
    pft.php

El cambio consiste en lo siguientes:

  • Una vez que se ejecuta el script menu_crearbd.php y se establecen las características de la base de datos, se llama al script crearbd_new_create.php el cual coloca en variables de sesión la versión, encoding y otras opciones seleccionadas para la la base de datos.
  • Posteriormente, todos los scripts subsiguientes para completar el proceso de creación, consultan la variable $_SESSION["UNICODE"] para colocar correctamente el encoding de la página, según la selección de la base de datos.
  • Como muchos scripts se comparten con los procesos de actualizar las definiciones de la base de datos, el cambio del encoding solo se realiza cuando está presente la variable de sesión

Préstamo

Despliegue de formatos

Se agregó el script common/abcd_ref.php para que el procedimiento que permite incluir en un formato la expresión $$REF (relación 1 a varios entre bases de datos), pueda invocarse desde cualquier punto en el cual se despliega los resultados de un formato.