¿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