Ultimos artículos publicado:

Configurando mi MenuSite de NAV

Jueves, 17 de Junio de 2010

El Panel de Navegación (MenuSite) se organiza en forma de árbol. Por lo tanto:

  • Un grupo contine una colección de nodos.
  • El nodo final es el más bajo del arbol. Estos son los que tienes la habilidad de lanzar los eventos de abrir Pages.

El MenuSuite para Formulario (no se les dará más importancia a lo largo del artículo):

  • numero 10 MBS (Microsoft Bussines Suit) no se va a poder tocar.Contiene la información internacional.
  • numero 30 Country no se va a poder tocar. Contiene la personalización de cada Pais.
  • numero 90 Company es el personalizado para cada empresa. Por lo tanto este es el que se tendría que modificar

El MenuSuite para Roles (a lo largo de la aplicación los nombra como Departamentos):

  • numero 1010 Dept - MBS (Microsoft Bussines Suit) no se va a poder tocar.Contiene la información internacional.
  • numero 1030 Dept - Country no se va a poder tocar. Contiene la personalización de cada Pais.
  • numero 1090 Dept - Company es el personalizado para cada empresa. Por lo tanto este es el que se tendría que modificar.

En el caso de clientes, no se pueden crear menussuite menores de 1090 por terminos de licencia (en el caso de formulario deberán estar entre 90 y 1000).

El resultado de tener varios MenuSite consiste en la unión de los mismos en uno solo, por lo que el usuario verá las caracteristicas del 1010 + 1030 + 1090, teniendo mayor prioridad en caso de coincidencia el de mayor numero.

Al crear un nuevo MenuSuite aparece un nuevo simbolo en el Panel de Exploración (>>) Este simbolo nos indica que están definidos en un nivel inferior (por ejemplo en 1010 Dept - MBS o en 1030 Dept - Country).
mbs

Al situarnos sobre un nodo final y apretrar el botón izquierdo del ratón, nos aparece las posibilidades que podemos realizar:opcionesmenusuite

  • Crear Producto: crearproducto
    • Tipo Objeto: Tipo de Objeto con el que se va a interactuar.
    • Id.Objeto: Objeto con el que se va a interactuar. Se verán los objetos filtrados segun el tipo seleccionado previamente.
    • Título: Nombre con el que lo verá el usuario.
    • TextoML: TExto en multiidioma.
    • Departamento: Seleccion de la categoría. Manera alternativa a los departamentos (estructura de arbol en el entorno de roles).
  • Insertar Producto: Inserta una acción pre-definida
  • Crear Grupo: Genera una nueva carpeta. Para que sea visible, tiene que tener algun contenido.
    grupovacio

Al situarnos sobre un menu y apretamos el botón izquierdo, nos aparece las posibilidades que podemos realizar:
menu

  • Crear Menucrearmenu
    • Título: Nombre con el que lo verá el usuario.
    • TextoML: Texto en multiidioma.
    • Mapa de bits: Icono que aparecen en el grupo. Estos están predefinidos, por ejemplo el 0 es una estrella.

Amando Olcina NAV 2009

Problemas BES Express al Configurar los permisos de Microsoft Exchange 2010 para la cuenta de Windows

Miércoles, 16 de Junio de 2010

Hola a todos

Tras seguir los pasos para darle al usuario de windows permisos de que va administras el BES Express, me surgio un error en el paso 4

4. Escriba Add-ADPermission -InheritedObjectType User -InheritanceType Descendents -ExtendedRights Send-As -User “BESAdmin” -Identity “CN=Users,DC=<domain_1>,DC=<domain_2>,DC=<domain_3>” donde <domain_1>,<domain_2> y <domain_3> forman el nombre del dominio.
Error en la operación de Active Directory en maquina.dominio.subdominio. La operación no se puede reintentar.Información adicional: Acceso denegado.
Respuesta de Active Directory: 00000005: SecErr: DSID-03151E04, problem 4003 (INSUFF_ACCESS_RIGHTS), data 0
+ CategoryInfo : WriteError: (0:Int32) [Add-ADPermission], ADOperationException
+ FullyQualifiedErrorId : 3F164E48,Microsoft.Exchange.Management.RecipientTasks.AddADPermission

La solución a este problema es la siguiente:

1. Ejecutamos el comando adsiedit.msc que nos permite ver el usuario en que unidad organizativa se encuentra

2. En mi caso la linea correcta era la siguiente

Add-ADPermission -InheritedObjectType User -InheritanceType Descendents -ExtendedRights Send-As -User “BESAdmin” -Identity CN=Usuario,CN=CarpetaContnedora,DC=dominio,DC=subdominio”

Espero que os sea de ayuda

jmiro Blackberry

Convenio interno para la programación en NAV

Lunes, 14 de Junio de 2010

Ejemplo de convenio en la codificación del C/AL para poder tener un seguimiento de las actualizaciones/modificaciones del código origen.

Lista de versiones

Texto Original + “;” + Funcionalidad o GAP + Numero de intervención

Descripción de campos

Funcionalidad o GAP + Numero de intervención + Entidad que interviene + Fecha + Iniciales de la Persona que ha realizado la acción.

V017 706 Proveedor 24.12.09 AOLCINA

V017 706 Proveedor 24.12.09 AOLCINA

Nomenclatura C/AL Global y Local

  • Nombre de variables: txVar_NombreDeLaVariable.
  • Nombre de Funciones: txFn_NombreDeLaFunción.
  • Nombre de Contante: TX_NombreDeLaConstante.

Comentario en C/AL Code

//-100 Proveedor 30.07.09 AOLCINA: Traer nuevos campos de cabecera.

Sentencia 1;

Sentencia 2;

//+100

Convenio en C/AL Code

· Inicializar las variables que se van a usar (a no ser que ha ciencia cierta que necesite el valor previo). Para ello se usará la sentencia CLEAR, raramente CLEARALL.

· La variables de tipo “option” se usa el valor, no la numeración (recordar que empieza con 0)
Ejm. :
PERMITIDO ->
IF txVar_Option = txVar_Option::”Opcion 1” THEN …
NO PERMITIDO -> IF txVar_Option = 0 THEN …

· En la sentencia WITH, los valores de la variable referenciada con WITH, se tendrá que poner el punto.
Ejm. :
PERMITIDO ->
WITH txVar_Record DO BEGIN .RESET END
NO PERMITIDO -> WITH txVar_Record DO BEGIN RESET END

· Uso de FINDFIST, FINCDLAST (no admitidos para bucles), FINSET (los 3 optimizados para SQLServer; recordar que si no se indica nada es de solo lectura), no usar FIND.

· No se permite los comentarios de línea múltiple (a no ser que sea por uso temporal).
Ejm. :
PERMITIDO ->
// Esto es
// mi comentario

NO PERMITIDO -> {Esto es
mi comentario}

· Tanto en SETRANGE, como en SETFILTER, no poner nuevamente el identificador del Record, se poner directamente el nombre del campo como primer parámetro.
PERMITIDO ->
txVar_Record.SETFILTER(“No.”,’%1..%2’,txVar_1,txVar_1);
equivalente a la línea -> txVar_Record.SETFILTER(“No.”,’>=%1&<=%2’,txVar_1,txVar_1);
NO PERMITIDO -> txVar_Record.SETFILTER(txVar_Record.“No.”,’%1..%2’,txVar_1,txVar_1);

· No se permite la asignación de valores a los campos de un Record, se tendrá que usar la función valídate (en caso de usar la validación, se tendrá que justificar la razón de no querer que se lance el evento OnValidate.
Ejm.:
PERMITIDO ->
txVar_Record.VALIDATE(”G/L AccountNo”, ‘100′);
NO PERMITIDO -> BEGIN
txVar_Record.”G/L AccountNo” := ‘100′; //No lanza el evento OnValidate
txVar_Record.VALIDATE(”G/L AccountNo”); //Lanza el evento OnValidate del Campo
END

· No se permite los campos directos, se tendrá que poner el símbolo.
Ejm.:
PERMITIDO ->
rec.INIT;
NO PERMITIDO -> INIT;

Convenio en el Trigger de Documentation

Descripción de la utilidad del objeto.

Lista de versiones

Más Acciones realizadas (nuevos campos con la explicación)

Ejm.

V037. Bolsas de investigación.
100 AITEX 28.07.09 jjuan:
    Nuevos campos:
           7081173 "Nº acuerdo"
           7081174 "Nº agrupación"
           7081175 "Nº bolsa investigación"
           7081176 "Nº línea relacionada"
           7081177 "Línea prepago"

           7081178 "Línea reparto"
           7081179 "Línea dividida"
           7081180 "Nº línea origen reparto"

    Nuevas funciones:
             txFn_RecuperaAcuerdo
             txFn_GetGLAccount
             txFn_PreasignarBolsaNuevaLinea
             txFn_ActualizarMovsReserva
           Comprobación de cuentas prepago.
           Traer nuevos campos de cabecera.
           Pre-asignación de bolsas de investigación en líneas.
           Actualización de movs. consumo al cambiar la bolsa de
            investigación.
           Al traer líneas de prepago, ha de traerse el albarán
             completo.
101 AITEX 01.12.09 aolcina: Nuevos campos:
           7081219 "Facturación Posterior"
           Gestión de nuevos campos.

102 PROVEEDOR 01.12.09 AOLCINA: Se cambia la etiqueta del campo "Prepago"
                            a 'Prepago IVA'.

V004. Familias de producto y variante
200 PROVEEDOR 21.08.09 DSOLAR: Añadimos la obligatoriedad de configurar "Cód.
                            Familia Genérica" en producto al
                            crear una línea de tipo producto.
201 PROVEEDOR 11.11.09 AOLCINA: Deshabilitamos uso de campo "Cód.
                            Familia Genérica" desde Producto.
                            Usar "cód. familia genérica" desde Variante.
202 PROVEEDOR 20.11.09 AOLCINA: Dejamos de usar la tabla "Rel. familia producto",
                             y enlazamos directamente con "Familia".

Amando Olcina NAV 2009