Příklad 20 - Vytvoření kooperace, odvezení, zrušení odvezení, přivezení, zrušení přivezení
Nasledujúci príklad popisuje prácu s objektom Kooperácie. Najskôr prebehne jeho vytvorenie, následne jeho odvezenie, potom zrušenie odvezenia, ďalej privezenie a zrušenie privezenia. Miesta, kde je nutné pri prípadnom použití tohto príkladu dosadiť vlastné OID, sú v texte označené znakom "%". Použitá syntax zodpovedá prostrediu Visual Basic.
Sub Cooperation()
Set mApplication = CreateObject("AbraOLE.Application")
' Vytvoření kooperace
Set CooObject = mApplication.CreateObject("@PLMCooperation")
Set CooData = mApplication.CreateValues("@PLMCooperation")
CooObject.PrefillValues CooData
With CooData
.ValueByName("JobOrder_ID") = % ID výrobního příkazu%
.ValueByName("Division_ID") = % ID střediska%
End With
CooID = CooObject.CreateNewFromValues(CooData)
' Odvezení, protože je zadáno 0, tak datum odvezení je rovno datu na serveru
Set CooData = CooObject.GetValues(CooID)
' V případě chyby se zeptáme na poslední validační hlášení
If Not CooObject.TakeOff(0) Then
MsgBox (CooObject.GetLastMessage)
End If
CooObject.UpdateValues CooID, CooData
' Zrušení odvezení
Set CooData = CooObject.GetValues(CooID)
' V případě chyby se zeptáme na poslední validační hlášení
If Not CooObject.TakeOffCancel Then
MsgBox (CooObject.GetLastMessage)
End If
CooObject.UpdateValues CooID, CooData
' Přivezení, protože je zadáno 0, tak datum přivezení je rovno datu na serveru
Set CooData = CooObject.GetValues(CooID)
' V případě chyby se zeptáme na poslední validační hlášení
If Not CooObject.TakeIn(0) Then
MsgBox (CooObject.GetLastMessage)
End If
' Pokud bychom zavolali přivezení na neodvezenou kooperaci, dostaneme po zavolání CooObject.GetLastMessage text "Kooperace ještě nebyla odvezena"
CooObject.UpdateValues CooID, CooData
' Zrušení přivezení
Set CooData = CooObject.GetValues(CooID)
' V případě chyby se zeptáme na poslední validační hlášení
If Not CooObject.TakeInCancel Then
MsgBox (CooObject.GetLastMessage)
End If
' Pokud bychom zavolali přivezení na neodvezenou kooperaci, dostaneme po zavolání CooObject.GetLastMessage text "Kooperace ještě nebyla odvezena"
CooObject.UpdateValues CooID, CooData
End Sub