Hola Javier,

Parece que el problema está en que está constantemente consultando el servidor, está vacio y la lista no se crea. Pero está perdiendo la conexión TCP y por eso lanza el error. Lo que no comprendo es, si tengo la configuración de mantener conectado ¿No debería de realizar la conexión automáticamente?

A lo mejor no comprendo correctamente cual es el funcionamiento de este parámetro

Genial, muchas gracias por compartir este código.

Lo que sería un plus, es poder añadir alguna propiedad en el export para que no serialice alguna propiedad. Los que no usamos IRIS lo tenemos complicado.

https://giphy.com/embed/d5KuLHHTSaRnG
[Este es un enlace integrado, pero no puede ver el contenido integrado directamente en el sitio porque rechazó las cookies que se necesitan para acceder a él. Para ver el contenido integrado, debe aceptar todas las cookies desde la Configuración de cookies]

Aqui otra solución mucho más sencilla

/// Elimina un item de la producción
ClassMethod ProductionItemRemove(pProdName, pItemName) As %Status
{
    write !,"Removing Item: "_pItemName

   if ##class(Ens.Config.Item).NameExists(pProdName, pItemName,.itemId)

    {
        set objItem=##class(Ens.Config.Item).%OpenId(itemId)
        set prod=##class(Ens.Config.Production).%OpenId(pProdName)
        do prod.RemoveItem(objItem)
        do prod.%Save()
        
        kill objItem
    
        do ##class(Ens.Director).RestartProduction(0,1)
    }
    
    quit $$$OK
}

Un saludo,

Francisco López

Probado, implementado y funcionando... una gran idea

Te importaría realizar la misma respuesta en el community en inglés, hasta que no se implememte la funcionalidad de traducir las respuestas aceptadas, hay que estar hacíendolo así. De esta forma quedará registrado en ambos foros, y la solución es muy buena.

https://community.intersystems.com/post/how-delete-item-production-code

Muchas gracias

Hola Pilar,

Prueba a hacer lo siguiente:
1) Crea un recurso para tu WebApi (p.e. ResourceMyApi) Sistema -> Gestión de seguridad -> Recursos

2) Generamos un nuevo Rol para asignar este recurso (p.e. RolMyApi) Sistem -> Gestión de seguridad -> Roles

Asignamos el recurso a este rol

3) Creamos un nuevo usuario para acceder a MyAPi (o abrimos la configuración del usuario que queremos darle los privilegios)

Sistema -> Gestión de seguridad -> Usuario -> Editar usuario

Asignamos el rol RolMyApi en la solapa de Roles

4) Ahora, en la configuración del WebApi indicamos que es necesario que el usuario tenga el recurso ResourceMyApi para poder acceder.

Si intentas acceder con otro usuario verás que recibes un error 401 not authorized

Mas información:

Caché Security Administration Guide

Assets and Resources

Roles

Espero que con esta explicación puedas continuar con tu desarrollo

Un saludo,

Francisco López