Dynamics ax 4.0, abriendo formulario sin aplicar filtro en registro actual

StackOverflow https://stackoverflow.com/questions/1320414

  •  19-09-2019
  •  | 
  •  

Pregunta

Tengo un formulario con la cuadrícula VendTable, por ejemplo, que tiene el campo CustAccount.

Quiero colocar un botón; haga clic en él para abrir el formulario CustTable donde todos los clientes son visibles.

Si solo coloco el elemento del menú CustTable, al hacer clic en él se abrirá el formulario CustTable, pero en este formulario solo se muestra un registro, uno que tiene el mismo AccountNum que en vendTable.CustAccount.

¿Cómo abrir custTable completo?¿Existe una solución mejor que crear el botón y luego usar ClassFactory::FormRunOnClient para mostrar el formulario?

PD.Necesito un botón, por lo que RMB->"Ir al formulario de la tabla principal" no cuenta.

¿Fue útil?

Solución

El problema es que el registro VendTable se aplica como un argumento a la forma CustTable, que a su vez crea una dynalink. La solución es evitar el argumento.

Reemplazar el método clicked en el elemento de menú pantalla CustTable como esto:

void clicked()
{
    this.menufunction().run(new Args(element));
}

Esto exige la forma CustTable con la persona que llama objeto sólo y sin el argumento registro.

Otros consejos

Sé que esto es una pregunta bastante viejo, pero si alguien viene aquí en busca de la respuesta, simplemente llamar al método clearDynalinks() en el QueryBuildDataSource objeto.

Por ejemplo, se ha creado un formulario y que es filtrado automáticamente el origen de datos debido a las Dynalinks que la dinámica crea de forma automática, a resolverlo poniendo el siguiente código dentro del método init(), en el formulario de origen de datos:

QueryBuildDatasource qbds;
;


qbds = this.query().dataSourceTable(tablenum(MyTableName));
qbds.clearDynalinks();

// Next line is optional, it clears initial ranges
qbds.clearRanges();

// if you need to add any ranges you can do it right after you clear the initial dynalinks / ranges

Espero que ayuda ...

Tienes 2 opciones, puede crear un botón y anular su método se ha hecho clic (), o utilizar un MenuItemButton y asignar una acción Menultem a él.

El uso de MenuItems es una buena práctica, ya que le permite utilizar el marco de seguridad y configuración de AX. Puede asociar una clase a la Menultem y en el método principal de la clase () puede ejecutar el FormRunOnClient () cosas como sea necesario.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top