Bonjour @Guillaume Rongier
Alors j'ai deux namespaces mais j'ai 2 fichiers distincts ayant la même fonction:
Class TEST.maclasse Extends %RegisteredObject
{
ClassMethod testPython() As %Status [ Language = python ]
{
print("Ok")
}
}ET
Class SUPPLYCHAIN.maclasse Extends %RegisteredObject
{
ClassMethod testPython() As %Status [ Language = python ]
{
print("Ok")
}
}Ces fichiers étaient créés avant de lancer le docker pour lancer iris. Ce docker compile automatiquement les fichiers dans les bons namespaces (SUPPLYCHAIN est le dossier pour le namespace SUPPLY_CHAIN et TEST est le dossier pour le namespace TEST).
Par la suite j'appelle via un terminal IRIS dans les bons namespaces, les méthodes:
TEST>do ##class(TEST.maclasse).testPython()
OkET
SUPPLY_CHAIN>do ##class(SUPPLYCHAIN.maclasse).testPython()
<OBJECT DISPATCH> *python object not foundAprès avoir posté ce matin ma question j'ai recherché de mon côté et il s'avère que lorsqu'on crée une nouvelle classe dans SUPPLY_CHAIN avec le même code et que je l'importe moi même, je retrouve ceci:
SUPPLY_CHAIN>do ##class(SUPPLYCHAIN.test.maclasse).testPython()
OkAlors en effet, le fichier du côté SUPPLY_CHAIN a une fonction OnProcessInput en ObjectScript mais en faisant vraiment un copier/coller du fichier, l'appel à la fonction python marche parfaitement, mais sur le fichier d'origine j'ai toujours un python object not found, c'est là où je pense que c'est un bug
En espérant vous avoir aidé à mieux comprendre,
Cordialement
- Se connecter pour publier des commentaires