Published on InterSystems Developer Community (https://community.intersystems.com)

Inicio > ¿Cómo eliminar un item de una producción por código?

Pregunta
Kurro Lopez · 22 mayo, 2019

¿Cómo eliminar un item de una producción por código?

Hola a todos,

Estoy intentado eliminar un item de una producción a través de una rutina que instala y deshabilita items.

Para añadir no tengo problemas, incluso para habilitar y deshabilitar algunos items en particular.

El problema me surge cuando intento eliminar el item de la producción, porque cuando lo hace, la producción se queda inestable y solo vuelve a funcionar cuando se añade nuevamente este item en la colección (o se elimina de forma manual el item en el fichero produccion.cls

 

Este es mi intento de código:

set produccionName="MyApp.production"

set itemDelete = "MyApp.BP.item"

if ##class(Ens.Config.Item).NameExists(produccionName,itemDelete, .idItem)
{
    write !,"Removing BP: "_itemDelete
    set objItem=##class(Ens.Config.Item).%OpenId(idItem)
    do objItem.%Delete()
    kill objItem

   do ##class(Ens.Director).RestartProduction(0,1)
}

En el mejor de los casos, no hace nada y el item se mantiene. He probado también usando directamente el método %DeleteId() y algunas funciones de la clase Ens.Config.Production como RemoveItem

¿Alguna idea?

 

Un gran saludo,

Francisco López

#Caché #Ensemble

URL de fuente:https://es.community.intersystems.com/post/%C2%BFc%C3%B3mo-eliminar-un-item-de-una-producci%C3%B3n-por-c%C3%B3digo