8 (800) 302-62-68
+7 (499) 348-29-58
sale@rbs-crm.ru

Документация разработчика

Объект Structure

В Cистеме существует три вида форм: “Форма редактирования”, “Форма списка” и “Форма выбора”.

Ссылка на существующий Объект в Системе:

/orders/4
  • Где «4» = ID объекта «Счет»)

Ссылка на новый объект (добавление нового объекта):

/orders/add

Для того, чтобы определить в PHP-коде «Формы редактирования», создан уже «Объект» или нет, используются методы:

  • $this->isAddForm()
  • $this->isEditForm()

Каждый из них возвращает: true или false.

Пример:

protected function onPlay() {
    
    if ($this->isEditForm()) { // объект уже создан (идет редактирование объекта)
        
        if(!$this->structure->owner->id) {
            $noAddTable = 1;
            } else {
            $noAddTable = 0;
        }
    }
}

Конструкция $this->structure в «Форме редактирования» указывает на единичный текущий Объект.

После создания Объекта можно обращаться к полям Объекта.

Пример: обратимся к полям «date» и «number»:

echo $this->structure->number; 
// 100

echo $this->structure->date;
// 01-01-2021

Важно! В момент добавления Объекта (/add) структура еще не создана и поэтому обращение к полям  через $this->structure приведет к ошибке.

В «Формах списка» и «Формах выбора» $this->structure указывает на список объектов текущего модуля. Чтобы обратиться к полям «Объекта» необходимо пройтись циклом foreach по $this->structure.

Пример: в форме «Списка счетов» есть 3 счета, номера 1, 2, 3 и чтобы их вывести необходимо выполнить код:

foreach($this->structure as $item) {
    echo '№' . $item->number . ' от ' . $item->date . '<br>';
}

Результат:

№1 от 22.01.2022
№2 от 23.01.2022
№3 от 25.01.2022