Navision permite tener dentro de un form un subform y hacer un link entre ellos, de manera que al cambiar el registro del form cambie la información relacionada en el subform.
Pero no permite, de manera automática, enlazar un segundo subform. Esto se consigue con el evento OnTimer del form, el cual se ejecuta cada cierto tiempo programado (TimerInterval = 100, es un valor adecuado). Es en este evento donde podemos añadir codigo y verificar si hay que actualizar la información del segundo subform. Por ejemplo:
Form - OnTimer()
CurrForm.sbfItems.FORM.GETRECORD(ItemVendor); //Coge el registro actual
IF Key <> "No." + ItemVendor."Item No." THEN BEGIN //Si la info ha variado...
CurrForm.sbfPrices.FORM.myFilter("No.",ItemVendor."Item No."); //Actualiza el 2do subform
Key := "No." + ItemVendor."Item No."; //Coge nueva clave
END;
Teneis un ejemplo en la sección de downloads
As soon as you set up your online business, you would definitely come across the challenge of surviving in a quickly growing competitive environment. Moreover, the ever-changing market trends would also pose challenges to you and at such a situation, efficient ecommerce solution may provide you the best business advantage that you can ever dream of. Come in touch with http://www.infyecommercesolution.com and avail of the best ecommerce solutions.
ResponderEliminarHola. Interesante blog. Tienes un montón de utilidades, la verdad, bastante esenciales para el dia a dia.
ResponderEliminarMe ha llamado la atención este post ya que fué una de las primeras cosas que intenté en un form con 2 subforms que tuve que hacer. Pensé en actualizarlo en función del tiempo, pero cuánto considera un usuario que es un tiempo correcto?
Al final, la solución que desplegué fue utilizar un archivo xml (automation de Microsoft XML). Lo creo en el form principal y lo modifico en el primer subform al cambiar de registro. Luego uso el evento del xml onreadystatechange en el form principal para obtener el registro del primer subform y pasarselo como parámetro al segundo :)