«SIMAI: Модуль опросов» специально разработан для создания анкет и опросов на сайте.
Модуль отлично подходит для проведения анкетирования, в том числе и по независимой оценке качества (НОК) оказания услуг на сайтах образовательных, медицинских организаций, учреждений культуры и сферы социального обслуживания.
Опросы добавляются и редактируются через административную панель.
Для опросов, содержащих персональные данные пользователя, предусмотрено использование соглашений Битрикс о персональных данных согласно 152-ФЗ (проведение опросов, включающих персональные данные, без использования соглашений - НЕЗАКОННО!)
Функциональные возможности модуля:
Настройка доступа к опросу – только зарегистрированным пользователям, либо всем посетителям сайта.
Каждый опрос может включать в себя несколько разделов, группирующих вопросы по тематике.
Вопросы могут быть зависимы друг от друга (такой вопрос показывается в зависимости от ответа на один из предыдущих).
Возможность использования регулярных выражений – проверка чёткого соответствия вводимых данных заданному формату (например, для полей «Телефон», «e-mail», «ИНН», «Паспортные данные» и др.).
Настройка допустимого количества анкет для зарегистрированных пользователей. Незарегистрированные пользователи могут заполнять по одной анкете с одного IP (если их участие прописано в настройках опроса).
$eventManager = \Bitrix\Main\EventManager::getInstance(); $eventManager->addEventHandler( 'simai.poll', 'OnAfterInterviewUpdate', function (\Bitrix\Main\Event $event) { $poll_id = $event->getParameter('poll_id'); $primary = $event->getParameter('primary'); $data = $event->getParameter('fields'); // если это опрос с ID=4 и анкета завершена if ($poll_id == 4 && $data['STATUS'] == 'COMPLETE') { // проверяем существование вопроса с ID=32 $res = \SIMAI\Poll\CPollQuestionTable::getList(array('filter' => array('POLL_ID' => 4, 'ID' => 32))); if ($res->fetch()) { $COUNT_INTERVIEWS_FILTERED = 0; // выбираем анкеты с нужными условиями (только завершенные, вопрос с ID 32 имеет ответ 'Кировский') $arFilter = array( '=STATUS' => 'COMPLETE', '=Q_32' => 'Кировский', ); $res = \SIMAI\Poll\CPollInterview::getList($poll_id, array('filter' => $arFilter)); while ($res->fetch()) { $COUNT_INTERVIEWS_FILTERED ++; } // если нужных анкет набралось 200 или больше, делаем этот опрос неактивным if ($COUNT_INTERVIEWS_FILTERED >= 200) { \SIMAI\Poll\CPollTable::update($poll_id, array('ACTIVE' => 'N')); } } } $result = new \Bitrix\Main\EventResult($event->getEventType(), array('fields' => $data)); return $result; } ) |
Внимание! Повторная установка в демо-режиме приведет к окончанию демо‑режима и невозможности использовать модуль.