Quiero obtener el nombre de un objeto de un formulario para cargarlo en una variable local (específicamente un botón).
Pero no tengo experiencia en js. tengo entendido que hay que utilizar VObjectInfo, pero no se como implementarlo.
Si alguien puede ayudarme, lo agradezco desde ya.
EVENT_SENDER_ID, te devuelve el objecto que ha lanzado el evento y te llega al manejado con el nombre del control.
Todo dependerá de lo que vayas a hacer y como lo vayas a hacer. Si no entiendes js, a lo mejor te ahorra más tiempo buscar otra forma de hacerlo con lenguaje Velneo.
Un poquito el entender js es mas entender las dependencias de las clases en velneo,
Saludos
DESDE UN EVENTO DE FORMULARIO
var oForm = theRoot.dataView(); //EL FORM ACTUAL
var oLista = new VRegisterList(theRoot);
var tabla = theRoot.dataView().objectInfo().inputTable().idRef() //DETECTAMOS LA TABLA DEL FORMULARIO
oLista.setTable(tabla);
oLista.load("ID",[theRegisterIn.fieldToInt("ID")]);
if (oLista.size() > 0)
{
var oRegistro = oLista.readAt(0);
oForm.setRegister(oRegistro);
}
Llenando un combo standar de velneo a partir de una tabla estatica.
para agregarle la opcion Todos
var intake = theRegisterIn.fieldToInt(“ID”)
var oCombo = theRoot.dataView().control(‘CBOPER’);
oCombo.addItem( ‘All’, -1);
theRoot.setVar(“ID_CBO_SEL”, -1);
var lst = new VRegisterList(theRoot);
lst.setTable(“emrbd/PAT_CERT”);
lst.load(“PAT_INTAKE”, [intake]);
for(var i = 0; i < lst.size(); i ++)
{
var reg
reg = lst.readAt(i);
oCombo.addItem( “CERT # “+reg.fieldToString(“PERIODS”)+” [”+get_name(“PER_CERT”,reg.fieldToString(“PER_CERT”))+"]", reg.fieldToInt(“ID”));
}
function get_name(nombre, id) //aqui name representa una tabla estatica
{
var project = theApp.projectInfo(“emrbd”);
var tablaEstatica = project.objectInfo( VObjectInfo.TypeStaticTable, nombre);
NumElementos = tablaEstatica.subObjectCount( VObjectInfo.TypeStaticTableItem )
for (var i = 0; i < NumElementos; i ++){
subElemento = tablaEstatica.subObjectInfo( VObjectInfo.TypeStaticTableItem, i );
if (subElemento.id() == id)
return subElemento.name()