El mes pasado Microsoft liberó las actualizaciones acumulativas de Microsoft SQL Server 2008 Sp1 y SQL Server 2005 Sp3, las cuales contienen una importante actualización que mejora de forma muy considerable el rendimiento en los clientes que utilizan Axapta.
Siendo esta instalación altamente recomendable para todas aquellas personas que utilicen SQL Server con Dynamics AX.
En muchas ocasiones, nos encontramos con la necesidad de ver el contenido de las tablas mediante el AOT, función abrir tabla.
Al realizar esta acción podemos comprobar como las opciones de la barra de herramientas estándar de Dynamics Ax, no se pueden utilizar en esta venta, tales como exportar a Excel, siguiente registro, último registro …, pero existe una manera muy sencilla de poder arreglar esto.
Para ello buscaremos dentro del AOT el siguiente formulario: SysTableBrowser y dentro del Nodo Design\Design, cambiaremos la propiedad WindowsType = PopUp, por WindowsType = Standar
Una vez modificado el siguiente campo pasaremos de tener la siguiente visión al explorar una tabla
A tener la barra de herramientas y poder utilizarla para exportar a excel, o utilizar los iconos de acceso rápido.
Desde la nueva introducción de Dynamics Ax, hemos visto como se ha pasado de tener todas las ventanas que abrimos de Axapta dentro de un mismo Workspace, a tener cada ventana que se abre fuera de Axpata, siendo esto en algunas ocasiones un poco molesto para ciertos usuarios.
Si queremos cambiar este comportamiento, podemos modificar la clase SysSetupFormRun el método Init con el siguiente código:
Esto es debido a que el parámetro _participant tiene una longitud de 20 caracteres y el texto que pasamos es mayor a 20, produciendo que siempre se devuelva FALSE en la función
_participant = Originador del flujo de trabajo
La manera de resolver el siguiente error es cambiando el tamaño del Extended WorkFlowParticipantToken a 40 caracteres.
En ciertas ocasiones, necesitamos poder copiar un registro, sin utilizar el método Data(),sino que lo que queremos es ir recorriendo uno a uno todos los campos de un registro seleccionado y copiarlo en otro variable del mismo tipo.
Para ello podemos utilizar el siguiente ejemplo, el cual se llamaría de la siguiente forma: copyFields(custTable, custTableTo);
staticvoid CopyFields(Common _from, Common _to){
DictTable t;
DictField f;
int i;
fieldId id;
FieldName fieldname;
;
t =new DictTable(_to.TableId);
if(t){for(i=1; i<=t.fieldCnt(); i++){
id = t.fieldCnt2Id(i);
f =new DictField(_to.TableId,t.fieldCnt2Id(i));
//Aqui podemos excluir campos del sistema como DataAreaid, RecId, CreatedDateTime ..if(f && !f.isSystem()){
_to.(id)= _from.(id);
}}}}