none
Agregar un campo acumulador en un formulario RRS feed

  • Pregunta

  • Estimados Expertos,

    Tengo una entidad personalizada que contiene 3 campos

    Inicio_secuencia, Numero_Actual, Fin_secuencia.

    La idea es que cada vez que se almacena una factura, se asgine a un campo, el Numero_Actual, y se le sume uno a dicho campo en la tabla correspondiente

    Disculpen es que soy nuevo, en la programacion y quisiera realizarlo a nivel de usuario,

    desde ya muchas gracias.

    Carlos Bonilla

    martes, 31 de enero de 2012 16:35

Respuestas

  • hola amigo.. primero que nada.. recuerda colaborar con los foros.. seleccionando como util y marcando como respuesta valida la infoq eu te presente, con esto ayudas a crecer a nosotros como colaboradores y a los foros para obtener informacion.

    colaborame con esto mientras pienso como puedes resolver este otro punto...

     

    saludos

    • Marcado como respuesta Carlos Bonilla viernes, 3 de febrero de 2012 23:36
    viernes, 3 de febrero de 2012 19:04
  • tranquilo amigo, para eso estan los foros para ayudarnos.. mira te cuento si deseas cojer un campo de una entidad y colocarlo en la misma entidad pero en otro campo seria algo como asi:

    crmForm.all.<<Nombre del campo donde se colocara el dato>>.dataValue = crmForm.all.<<Nombre del campo donde esta el dato>>.dataValue.

    pero si es entre diferentes entidades lo mejor es que hagas un trigger y lo manejes por hay pues por script te tocaria hacer sentencias mas complejas.

    te recomiendo que lo manejes por un triggers que es una simplemente obtener el dato y hacerle un update a tu tabla..

    saludos.

    me cuentas como te fue o si puedo ayudarte en algo mas... con todo el gusto del mundo.

    Recuerda que si mi respuesta es convincente a tu consulta marcala como util y como respuesta asi ayudamos a los foros. gracias

    • Marcado como respuesta Carlos Bonilla miércoles, 8 de febrero de 2012 15:33
    martes, 7 de febrero de 2012 14:33
  • Ok Cristina, logre con el trigger, aumentar en 1, el valor cada vez que se graba una factura. ahora el tema es el siguiente:

    Paso 1 - Grabar factura.

       en este punto, deben suceder 3 cosas:

         1 - Leer el valor que se encuentra en la tabla new_xx, campo: new_nro.

         2 - Asignarselo al campo en la factura new_nroenfac

         3 - Sumar uno al valor en la tabla new_xx, campo:new_nro (ya lo hice con el trigger)

    como harias los pasos 1 y 2?.(con un scrpit? en el evento onsave, o con un trigger?)

    desde ya muchas gracias.

    Carlos.


    Carlos Bonilla
    • Marcado como respuesta Carlos Bonilla viernes, 3 de febrero de 2012 23:32
    viernes, 3 de febrero de 2012 15:45

Todas las respuestas

  • hola Carlos Bonilla primero tu no eres de Cali.. no estudiaste en la universidad Autonoma.. si si.. pues nos conocemos si no pues omitelo.

     

    con respecto a tu pregunta, es facil.. este proceso de sumarle un numero a Dicho campo lo debes hacer a nivel de base de datos.. debes hacer un trigger el cual haga un count de tus registros o que traiga el ultimo numero ingresado y hay si le puedes sumar uno... esto lo haces en el evento save del crm

     

    es simple.. saludos y me cuentas.

    miércoles, 1 de febrero de 2012 21:01
  • Hola Cristian, gracias por tu respuesta, no, no soy de Cali.

    Te cuento un poco con mas detalle, a ver si me puedes ayudar.

    En Rep.dominicana, las facturas tienen un nro Fiscal, que dependiendo del tipo de cliente es una serie u otra. Entonces cree una entidad (NCF) que contiene los campos correspondiente a cada serie, ej: Tipo de serie, Nro inicio, Nro Actual, Nro final.

    En la factura, cree dos campos: Uno Tipo serie, y otro Nro CF (Aqui me deberia traer el ultimo nro almacenado en la entidad anterior (Nro Actual) y sumarle uno.

    Entonces, mi duda es la siguiente: Como hago en el evento OnSave de la factura, para que segun el "tipo serie" seleccionado (es un pocklist), me busque en la entidad (NCF), el nro actual. O sea cual seria el script, web service, o funcion que me leeria este registro, lo asigne al campo y le sume uno (esto se que se puede hacer con un trigger, pero como llamo al trigger desde el formulario),

    Espero haber sido claro con la explicacion, dede ya muchs gracias.

    Carlos


    Carlos Bonilla
    jueves, 2 de febrero de 2012 13:58
  • hola amigo buenos dias.. perfecta tu explicacion..

    con esta explicacion ,me confirmas que lo mejor es que lo hagar en un trigger recuerda que los trigger se ejecutan apenas se crea modifica elimina etc un registro.. por ende tu lo unico que debes hacer es guardar el formulario y nad mas...

     

    ya a nivel de base de datos creas un trigger donde caapture los datos con los que haces la validacion de que numero o serie debes tomar... y ya puedes jugar con las tablas luego quetengas tu info, pues le das un update a tu tabla y listo actualizas el registro.

     

    te presente que debes obtener el registro especifico que vas a modificar por que si no modificas TODOS los registros jejejej :-) y eso no se puede..

    si es muy confuso o tienes dudas me escribes, saludos

    jueves, 2 de febrero de 2012 14:12
  • Entiendo, ahora, como llamo al trigger desde el evento en el formulario? cual seria el script?

    y como hago para obtener el nro de la tabla? para asignarlo al campo antes de grabar? cual seria el script? o como seria.

    Muchas gracias

     

    Carlos.


    Carlos Bonilla
    jueves, 2 de febrero de 2012 14:42
  • o.k.. mira el trigger no lo tienes que llamar de ningun lado.. apenas tu guardes el formulario el trigger se activa.. siempre y cuando le hayas dicho que se active cuando se crea un registro(esto se hace en el trigger)

    y encuanto al numero de la tabla no entiendo ... cual numero??

    jueves, 2 de febrero de 2012 15:01
  • Ok Cristina, logre con el trigger, aumentar en 1, el valor cada vez que se graba una factura. ahora el tema es el siguiente:

    Paso 1 - Grabar factura.

       en este punto, deben suceder 3 cosas:

         1 - Leer el valor que se encuentra en la tabla new_xx, campo: new_nro.

         2 - Asignarselo al campo en la factura new_nroenfac

         3 - Sumar uno al valor en la tabla new_xx, campo:new_nro (ya lo hice con el trigger)

    como harias los pasos 1 y 2?.(con un scrpit? en el evento onsave, o con un trigger?)

    desde ya muchas gracias.

    Carlos.


    Carlos Bonilla
    • Marcado como respuesta Carlos Bonilla viernes, 3 de febrero de 2012 23:32
    viernes, 3 de febrero de 2012 15:45
  • hola amigo.. primero que nada.. recuerda colaborar con los foros.. seleccionando como util y marcando como respuesta valida la infoq eu te presente, con esto ayudas a crecer a nosotros como colaboradores y a los foros para obtener informacion.

    colaborame con esto mientras pienso como puedes resolver este otro punto...

     

    saludos

    • Marcado como respuesta Carlos Bonilla viernes, 3 de febrero de 2012 23:36
    viernes, 3 de febrero de 2012 19:04
  • hola amigo.. con respecto a esto.. te cuento que cualquiera de las dos opciones es valida,... pero si ya estas haciendo el trigger anteriormente te diria que lo completaras un poco para que logres lo que me estas diciendo arriba.. creeria qeue esa es una muy buena opcion.

     

    saludos y me cuentas

    lunes, 6 de febrero de 2012 13:32
  • Ok cristinan, sin querer abusar, de tu ayuda, me podrias explicar como hacer para obtener el valor de un campo de una entidad (ej: New_xx), y colocarlo en un campo de un formulario (ej: Invoice), en cualquier evento, ya sea Onload o OnSave?...si es posible con jscript?..

     

    Muchisimas gracias.

     

    Carlos.


    Carlos Bonilla
    lunes, 6 de febrero de 2012 13:41
  • tranquilo amigo, para eso estan los foros para ayudarnos.. mira te cuento si deseas cojer un campo de una entidad y colocarlo en la misma entidad pero en otro campo seria algo como asi:

    crmForm.all.<<Nombre del campo donde se colocara el dato>>.dataValue = crmForm.all.<<Nombre del campo donde esta el dato>>.dataValue.

    pero si es entre diferentes entidades lo mejor es que hagas un trigger y lo manejes por hay pues por script te tocaria hacer sentencias mas complejas.

    te recomiendo que lo manejes por un triggers que es una simplemente obtener el dato y hacerle un update a tu tabla..

    saludos.

    me cuentas como te fue o si puedo ayudarte en algo mas... con todo el gusto del mundo.

    Recuerda que si mi respuesta es convincente a tu consulta marcala como util y como respuesta asi ayudamos a los foros. gracias

    • Marcado como respuesta Carlos Bonilla miércoles, 8 de febrero de 2012 15:33
    martes, 7 de febrero de 2012 14:33