FAQ000144 - Modificación el atributo ".Description" por script

FAQ000144 - Modificación el atributo ".Description" por script

 FAQ000144 - Modificación el atributo ".Description" por script


En las versiones actuales de System Platform (versión 2023), se ha detectado una modificación en el atributo ".Description" que afecta a su modificación en Runtime vía scripting.

Tras realizar las pruebas pertinentes, se ha confirmado que este comportamiento ha variado al respecto de las versiones anteriores.

A continuación, se muestran las pruebas realizadas:

Resultado tras aplicar una modificación del atributo ".Description" de un objeto mediante el Object Viewer, mientras el objeto está deployado y en Runtime:



Como se puede observar, no es posible modificar el atributo ".Description" directamente desde el object Viewer, retornando el anterior mensaje de error, así que tampoco podrá ser modificado a través de scripting.

La diferencia se puede observar en el tipo de variable que se ha definido el atributo ".Description" como una variable InternationalString, donde este cambio supone que la descripción del atributo del objeto es un campo de sólo lectura y una vez que se despliega, esta descripción se muestra en el comentario del cliente de alarma como el valor inicial y este valor no se puede cambiar en Runtime, excepto a través de .ackmessage en los cambios de estado de alarma.

Pero revisando la documentación de esta versión, el atributo ".Description" está funcionando correctamente según los nuevos requerimientos de la versión 2023 R2.

En versiones anteriores de System Platform, el atributo ".Description" no se incluía en el data type Internationalized String. Pero desde la versión 2023 R2 de System Platform, se ha fusionado y por lo tanto la descripción no se puede cambiar.



Solución:

Como esta modificación puede suponer un gran problema en grandes proyectos debido a que hay muchos desarrollos donde se modifica la descripción a través de scripting, y que podría implicar el hecho de cambiar a mano centenares de descripciones tras la migración de un sistema a esta nueva versión, se propone la siguiente solución a implementar para solventar esta modificación en la versión 2023 R2 de System Platform.

Se deberá proceder a modificar el script donde se modifican las descripciones, añadiendo el sigueinte comando:

Me.Attribute.Description.Type = "MXString";

Me.Attribute.Description = "[New description]";

Por ejemplo:


Esta modificación cambia el tipo de datos del atributo".Desciption" de Internationalized String al tipo de datos MXString. 

Con esta modificación, al cambiar el tipo de valor forzando el cambio de un data type no modificable a otro, conseguimos que el atributo ".Description" se pueda modificar.

De esta forma ya se podrá modificar el atributo ".Description" vía scripting.

Alert
Nota Importante: Esta FAQ se entrega “as is”, es decir, como complemento a la documentación del producto, pero no incluido dentro del ámbito del Soporte Técnico. Por tanto, cualquier mal funcionamiento derivado del contenido de esta nota técnica no es responsabilidad de Becolve Digital.