Příklad 14 - Vytvoření dokladu kooperace

V příkladu je vytvořen doklad kooperace k zadanému výrobnímu příkazu. Identifikaci výrobního příkazu, vyráběné položky a operace je nutné zadat v proměnných uvedených na začátku příkladu. Množství je automaticky převzato z požadovaného množství na výrobním příkazu. Příklad je napsán ve VB.

' Pro správnou funkci procedury, je nutné naplnit následující proměnné.
' Jde o odkazy do výrobního příkazu.
'    JobOrder_ID            = ID výrobního příkazu, ke kterému je kooperace vystavována
'    JobOrderDivision_ID    = ID střediska kooperace, nejčastěji se vyplňuje středisko výr. příkazu
'    JobOrderMI_ID          = ID vyráběné položky
'    JobOrderRoutine_ID     = ID operace

' Vytvoření dokladu kooperace
Public Sub CreateCooperation()

    ' Založení potřebných objektů
    Set mCooperation_Object = mApplication.CreateObject("@PLMCooperation")
    Set mCooperationMI_Object = mApplication.CreateObject("@PLMCoopManufacturedItem")
    Set mCooperationRoutines_Object = mApplication.CreateObject("@PLMCoopRoutine")
    Set mCooperation_Data = mApplication.CreateValues("@PLMCooperation")
    mCooperation_Object.PrefillValues mCooperation_Data

    ' Nastavíme stejné středisko podle výrobního příkazu
    mCooperation_Data.ValueByName("JobOrder_ID") = JobOrder_ID
    mCooperation_Data.ValueByName("Division_ID") = JobOrderDivision_ID

    ' Založení kolekce a dat vyráběné položky a její naplnění daty
    Set mCooMi_Coll = mCooperation_Data.ValueByName("Rows")
    Set mCooMi_Data = mApplication.CreateValues("@PLMCoopManufacturedItem")
    mCooperationMI_Object.PrefillValues mCooMi_Data
    ' Odkaz na vyráběnou položku výrobního příkazu
    mCooMi_Data.ValueByName("JobOrdersMI_ID") = JobOrderMI_ID

    ' Založení kolekce a dat operace a její naplnění daty
    Set mCooMiRoutines_Coll = mCooMi_Data.ValueByName("PLMCoopRoutines")
    Set mCooMiRoutines_Data = mApplication.CreateValues("@PLMCoopRoutine")
    mCooperationRoutines_Object.PrefillValues mCooMiRoutines_Data
    mCooMiRoutines_Data.ValueByName("JobOrdersRoutine_ID") = JobOrderRoutine_ID

    ' Uložení řádku do kolekce operací kooperace
    mCooMiRoutines_Coll.Add mCooMiRoutines_Data
    ' Uložení řádku do vyráběných položek operací kooperace
    mCooMi_Coll.Add mCooMi_Data

    mCooperation_Object.CreateNewFromValues(mCooperation_Data)

End Sub