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

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

Форма выбора

«Форма выбора» используется для выбора одного “Объекта”. Целесообразно создавать форму выбора, а не просто добавлять поле типа select (выпадающий список), если количество выбираемых объектов в списке больше 20 и при выборе «Объекта» необходимо использовать фильтр.

Например, в модуле “Счет” можно выбрать “Контрагента”.

Для этого, чтобы создать «Формы выбора» необходимо зайти в «Конфигураторе» в модуль “Контрагенты” и добавить форму соответствующего типа.

Шаблон:

[[table | name: form]]
    [[column | table: form | name: name | width: 36% | tags: key="$id" phone="$phone"]]
    [[column | table: form | name: city | width: 24%]]
    [[column | table: form | name: responsible | width: 40% | align: center]]
[[table_end]]

Где:

  • name — название поля, которое нужно вывести. Если указать поле, которое существует в объекте, то можно не указывать его в PHP методе PrintDataTable. Но название можно задать любое
  • tags — параметр для задания тегов
  • key=»$id» — указывается тег с названием key и со значением id, переданным из PHP-сценария.
  • phone=»$phone» — в тег phone будет записано значение телефона “Контрагента”.

Теги используются в форме обработки для получения значений выбранного объекта. Например, есть форма «Выбора контрагента» и при клике по строке необходимо получить значения полей id и phone выбранной строки в родительской форе, но эти значения не должны быть выведены в самой таблице для пользователя.

После нажатия на кнопку «Сохранить» значения данных полей вставятся в родительскую форму.

PHP-сценарий:

$this->printDataTable("form", ["name" => ["id", "phone", "content" => "name"], "city"", "responsible"]);

Созданная «Форма выбора» будет доступна по адресу /companies/select.

В модуле “Счет” добавляем поле “Контрагент” и выбираем “Форму выбора” и “Форму редактирования” объекта «Контрагенты».

 

Затем необходимо добавить поле “Контрагент” в шаблон “Формы редактирования” объекта “Счет”.