Announcement

Collapse
No announcement yet.

[SOLVED] Capturar datos

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • [SOLVED] Capturar datos

    Hola buenas tardes, tengo un formulario y al rellenar el campo dni, quisiera que capturase los datos de la (nombre, dni, direccion..)
    He intentado hacerlo con enlaces>capture> le paso el valor del campo (dni), pero solo me rellena el campo del dni, los otros los deja vacío.
    ¿Que estoy haciendo mal?

    Muchas gracias por vuestra colaboración?

  • #2
    Hola utiliza un evento onchange ajax con la macro lookup y alli haces un select a los campos que necesitas y se los asignas a los campos del formulario.

    Comment


    • #3
      Muchas gracias, funciono perfecto

      Comment


      • #4
        Buenas!!

        Podríais pasarme un enlace donde se explique paso por paso? Me estoy volviendo loca para conseguir que 2 campos diferentes refresquen 1 campo en concreto. ¿Sabéis cómo plantearlo? Gracias!!!
        Last edited by emmauniemp; 05-22-2013, 11:56 AM.

        Comment


        • #5
          Hola, creas un evento ajax al campo y en este evento haces lo siguiente:
          $valor = {codigo};

          $sql = "select campo1, campo2 from mytabla where codigo = ".$valor;

          sc_lookup(data, $sql);
          {campo1} = {data[0][0]};
          {campo2} = {data[0][1]};

          Comment


          • #6
            Originally posted by alvagar View Post
            Hola, creas un evento ajax al campo y en este evento haces lo siguiente:
            $valor = {codigo};

            $sql = "select campo1, campo2 from mytabla where codigo = ".$valor;

            sc_lookup(data, $sql);
            {campo1} = {data[0][0]};
            {campo2} = {data[0][1]};
            Buenas, lo que he hecho es hacer un evento on change ajax en 2 campos diferentes para que modifiquen un campo en concreto. Mi problema es que el campo no se me recarga hasta que el usuario no ha modificado los dos campos. Tengo un campo que es "Cliente" otro que es "Contacto" y otro que es "Persona". Mi objetivo es que cuando un usuario modifique "Cliente", se modifique automáticamente el campo "Persona" y que cuando el usuario modifique "Contacto" se cargue automáticamente "Persona". Ahora mismo mi problema es que hasta que el usuario no ha modificado ambos campos "Cliente" y "Contacto", no se carga el campo "Persona".

            Estoy utilizando eventos onchange pasando parámetros y en el campo "Persona" tengo esto:

            SELECT id_numero, nombre, codigo_cliente, codigo_contacto
            FROM persona
            WHERE codigo_cliente = '{codigo_cliente}' OR codi_contacto = '{codigo_contacto}'
            ORDER BY nombre

            Tengo la teoría que el problema es el "OR", es como si hasta que no pudiera ejecutar la sentencia del WHERE entera, no se recarga el campo. ¿Sabéis de alguna manera para que esto no pase? Gracias...

            Comment


            • #7
              Hola me imagino que tu tienes 3 campos de tipo SELECT "Lista de valores": Cliente - Contacto- Persona.
              Tu necesidad es que si seleccionan un CLIENTE se recargue automaticamente el campo CONTACTO y cuando cambie contacto se cambie automatimente el campo PERSONA.

              Para esto, te ubicas en el campo CLIENTE y buscas en donde dice: Procesamiento Ajax y das click en el check: Uso de AJAX para recargar otros campos de tipo Select. y seleccionas en siguiente campo a recargar: CONTACTO y luego haces lo mismo en el campo CONTACTO para que recargue el campo PERSONA.


              En los ejemplos de SC busca el que dice: Reloading the city field when changing the State field.

              o mira este ejemplo en linea: http://www.scriptcase.net/scriptcase...eld-with-ajax/

              Comment


              • #8
                Buenos días Alvagar,

                muchísimas gracias por tu respuesta. Creo que me he explicado un poco mal... Mi objetivo es parecido a lo que tú dices, pero con una diferencia. Quiero que cuando alguien seleccione algo en el campo CLIENTE, automáticamente se recargue el campo PERSONA. Y que cuando alguien seleccione algo en el campo CONTACTO, se recargue automáticamente el campo persona. Para que lo entiendas, de cada cliente hay varias personas de atención y de cada contacto hay varias personas relacionadas. Lo que me pasa es que si hago el SELECT que os mostré en mi otro comentario, este no se ejecuta hasta que el usuario no ha seleccionado algo en el campo CLIENTE y en el campo CONTACTO. ¿Alguna solución? Gracias

                Comment


                • #9
                  Yo creo que puedes crear otro campo para persona (persona2), asi que tendrias 2 campos persona1 y persona2.
                  entonces el ajax del campo CLIENTE apunta a PERSONA1 y el ajax del campo CONTACTO apunta a PERSONA2.
                  y en el evento ajax puedes ocultar un campo de persona dependiendo del campo que se esta modificando.

                  Este nuevo campo puede ser un campo que se crea en SC y en el evento onvalidate puedes asignarlo al campo de la tabla.

                  Comment


                  • #10
                    Saludos, realice un formulario maestro-detalle con 2 llaves, todo funciona bien, solamente que al agregar el registro me muestra el ultimo de la tabla maestro con su respectivo detalle,
                    lo que deseo es que se quede el registro nuevo para actualizar los datos en detalle. ¿Cual es el problema?, ¿porque se va al útlimo registro?
                    agradezco el apoyo de la comunidad.

                    Comment


                    • #11
                      Debes configurarlo para que no salga del registro.
                      APLICACION - NAVEGACION - Retornar después de la inserción NO

                      Comment


                      • #12
                        Gracias por tu respuesta alvagar, te comento que está configurado en NO Retornar después de la inserción, sin embargo continúa igual, envía al último registro después del dar la inserción.
                        Te agradezco nuevos comentarios al respecto.
                        Last edited by lenin; 07-11-2013, 03:49 PM.

                        Comment


                        • #13
                          Mire como tiene el where en la sentencia SQL. por que cuando se inserta ejecuta nuevamente esta sentencia, hay que especificarle que sea para el codigo del registro actual.

                          Comment


                          • #14
                            Saludos alvagar, tratare de explicar como tengo los formularios:
                            1. Son formularios maestro-detalle, en el maestro tengo los datos principales del empleado (esto es para una nómina), y en el detalle las incidencias del mismo, estamos con una relación de uno a muchos.
                            2. No tengo sentencias en SQL en los dos formularios.
                            3. Estos se relacionan con dos campos (RFC y tipo de empleado).
                            4. He probado poniendo las llaves a ambos formularios.
                            5. He probado quitando los indices en las tablas.
                            6. He probado con indice autoincrmentable en la tabla maestro.
                            7. En fin, le he buscado por todos lados.
                            8. En el ejemplo de maestro-detalle de scriptcase si funciona bien, pero no dan mas detalles de configurar. Solamente indican las llaves de relación
                            9. En el manual viene en el ejemplo maestro-detalle, al configurar propiedades del Iframe-Acción despues de insertar. Aqui pienso que es donde se configura para este caso. El problema que en la versón 7 no aparece asi. No coinciden el manual con la versión.

                            Disculpas por la insistencia, y ni modo hay que seguirle buscando.
                            Saludos.

                            Agrego la imagen donde muestra la Acción despues de insertar:
                            frame.png
                            Attached Files
                            Last edited by lenin; 07-12-2013, 02:30 PM.

                            Comment


                            • #15
                              Tu dices: -No tengo sentencias en SQL en los dos formularios.
                              Yo pienso que debes de crear en el master la sentencia WHERE que recupere de forma unica a solo un empleado: esto es por el codigo del empleado y (RFC y tipo de empleado).
                              y en el detalle hace sen el where lo mismo para sus correpondientes llaves foraneas.

                              debe quedar asi, con tus correspondientes nombres de campos y criterios de recuperacion : RFC = [v_RFC] AND Tipo_empleado = [v_tipoempleado] AND codigo_empleado = [v_codigo_empleado]

                              Una vez que hagas esto, en el evento onfterinsert asignas lo siguiente: [v_codigo_empleado] = {codigo_empleado};
                              Esto es para que cuando insertes un nuevo master vuelva a recuperarse otra vez y vuelva al modo de edicion.

                              Espero que esto te sirva.

                              Comment

                              Working...
                              X