function getAdditions()
 {
     if (!empty($this->idsofadditions)) {
         $additionsArray = array();
         $additionIds = explode(" ", trim($this->idsofadditions));
         // iterate over addition ids
         foreach ($additionIds as $additionId) {
             $addition = new oqc_Addition();
             // add the addition to the additions array if it could be retrieved
             if ($addition->retrieve($additionId)) {
                 if (!$addition->deleted) {
                     $additionsArray[] = $addition;
                 }
             }
         }
         return $additionsArray;
     }
     return array();
 }
<?php

if (!defined('sugarEntry') || !sugarEntry) {
    die('Not A Valid Entry Point');
}
require_once 'modules/oqc_Addition/oqc_Addition.php';
require_once 'modules/oqc_Contract/oqc_Contract.php';
require_once 'include/formbase.php';
// contains function handleRedirect()
define('CONTRACT_BEAN_NAME', 'oqc_Contract');
define('ADDITION_BEAN_NAME', 'oqc_Addition');
if (isset($_GET['record']) && isset($_GET['module']) && $_GET['module'] == CONTRACT_BEAN_NAME) {
    $contractId = $_GET['record'];
    $contract = new oqc_Contract();
    if ($contract->retrieve($contractId)) {
        $addition = new oqc_Addition();
        // copy all data from contract into the addition
        $addition->loadFromRow($contract->fetched_row);
        // unset id to make sure that we create a new contract
        unset($addition->id);
        $addition->document_id = '';
        //$addition->idoffreetextblock = '';
        $addition->svnumber = '';
        $addition->abbreviation = '';
        //1.7.6 Unset also abbreviation since addition has different options
        $addition->previousrevision = '';
        $addition->nextrevisions = '';
        $addition->version = 1;
        $addition->deleted = 1;
        $addition->contractid = $contractId;
        $addition->is_latest = 0;