Справка

Оператор [addrow] - Добавить

Ссылка на оператор в списке

Аргументы:
- отключить обработчики (одно из предустановленных значений, флаг force)
- не очищать кеш (одно из предустановленных значений, флаг icache)
- таблица (таблица, обязательно к заполнению)
Один из способов добавить объект в таблицу.

Альтернативой является метод таблицы add.

Перед вызовом [addrow] необходимо подготовить переменные, которые будут присвоены объекту (если это необходимо).

Аналогичным образом подготавливаются переменные для команды editrow.

Для этого используются конструкции такого вида:
["имя переменной"->"значение"]

Если переменная является множественной ссылкой, то добавить к ней несколько значений можно с помощью оператора:
["имя переменной"+>"дополнительное значение"]

Перед определением списка параметров рекомендуется вставлять команду [start_operation] (start_operation), обнуляющая подготовленные переменные (также они автоматически обнуляются после добавления или удаления объекта).

Пример. Добавим статью.

[start_operation]

['title'->'Заголовок статьи']

['body'->'Текст статьи']

['tags'->cex.tags.get('Важное')]
['tags'+>cex.tags.get('Интересное')]

[addrow cex.articles]

Альтернативный метод:

[cex.articles.add(title='Заголовок', tags=cex.tags.get('Важное') +cex.tags.get('Интересное'))]

В качестве таблицы может выступать подтаблица какого-либо объекта.

Например: [addrow cow.article.comments]

Если использовать флаг [force], будут проигнорированы обработчики таблицы и переменных.

Если использовать флаг [icache] не будет очищен кеш для связанных с данной таблицей шаблонов.

Пример использование флагов:
[addrow force icache cex.articles]

Перед добавлением можно проверить настройку прав доступа, через команду [table.add?] (add?), которая вернёт [true] в случае, если текущий пользователь обладает правами на добавление в указанную таблицу или подтаблицу.

После добавления можно узнать, завершилась ли операция успешно через метод [cancel?] (cancel?). Если операция завершилась успешно, метод вернёт [false], иначе будет содержать причину отмены операции, либо [-1] в случае тихой отмены ([cancel silent]).

Также после добавления можно получить доступ к добавленному объекту через команду [li] (li),