Question
· Aug 9, 2023

What is the correct way to file the ID of a relationship?

Class Contatos.Amiguinho Extends %Persistent
{
Property Moradia As Cidade;

Relationship Trabalho As Contatos.Empresa [ Cardinality = one, Inverse = Nomedaempresa ];
}

------------------------Routine-----------------------------------
Set objcontato=##class(Contatos.Amiguinho).%New()
Set IDm=3,IDt=2
Set objcontato.Moradia=##class(Contatos.Cidade).%OpenId(IDm)    ;<-- it works for "Property Moradia As Cidade"
Set objcontato.Trabalho=##class(Contatos.Empresa).%OpenId(IDt)  ;<-- it doesn't works for "Relationship Trabalho As Contatos.Empresa"
Set ret=objcontato.%Save()

------------Question-----------------------------

What's the right way to do for "Relationship Trabalho As Contatos.Empresa"?
 

Discussion (15)2
Log in or sign up to continue

 s emp=##class(Contatos.Empresa).%OpenId(IDt) If $isObject(emp) Do objcontato.Tr
                                                                ^
abalho.Insert(emp)
<INVALID OREF>C+5^cont
USER 2d0>zw
 
IDt=1
NInd="NomeIndex"
emp=<OBJECT REFERENCE>[2@Contatos.Empresa]
objcontato=<OBJECT REFERENCE>[1@Contatos.Amiguinho]
pakobj="Contatos.Amiguinho"