Блог Горошко Андрея Bitrix24 Получить данные голосования с информацией о проголосовавших vote.AttachedVote…

Получить данные голосования с информацией о проголосовавших vote.AttachedVote…

Оптимизация производительности и безопасности — залог успешного проекта на 1С-Битрикс. Данный материал посвящен практическому применению «Получить данные голосования с информацией о проголосовавших vote.AttachedVote…». Мы подготовили подробный разбор принципов работы и развернутые примеры интеграции.

Получить данные голосования с информацией о проголосовавших vote.AttachedVote.getWithVoted

> Scope: vote
>
> Кто может выполнять метод: любой пользователь с правами чтения голосования

Метод vote.AttachedVote.getWithVoted возвращает данные прикрепленного голосования вместе с информацией о проголосовавших пользователях.

Параметры метода

Доступно три варианта вызова метода.

1. Через идентификатор прикрепленного опроса

Название
тип
Описание
attachId
integer
Идентификатор прикрепленного голосования, получить можно методами vote.AttachedVote.get или vote.AttachedVote.getMany
pageSize
integer
Количество записей на странице для списка проголосовавших.
Значение по умолчанию: 10
userForMobileFormat
boolean
Формат данных пользователей для мобильных устройств.
Значение по умолчанию: false

2. Через элемент с опросом

Название
тип
Описание
moduleId
string
Идентификатор модуля, возможные значения:
— Im для опроса в чате,
— blog для опроса в ленте
entityType
string
Тип объекта, возможные значения:
— Bitrix\\Vote\\Attachment\\ImMessageConnector для опроса в чате,
— Bitrix\\Vote\\Attachment\\BlogPostConnector для опроса в ленте
entityId
integer
Идентификатор элемента, возможные значения:
— id сообщения чата с опросом, получить можно методом vote.Integration.Im.send,
— id поста с опросом в ленте, получить можно методом log.blogpost.get
pageSize
integer
Количество записей на странице для списка проголосовавших.
Значение по умолчанию: 10
userForMobileFormat
boolean
Формат данных пользователей для мобильных устройств.
Значение по умолчанию: false

3. Через подписанный идентификатор

Название
тип
Описание
signedAttachId*
string
Подписанный идентификатор прикрепления, получить можно методом vote.AttachedVote.get, параметр ответа signedAttachId
pageSize
integer
Количество записей на странице для списка проголосовавших.
Значение по умолчанию: 10
userForMobileFormat
boolean
Формат данных пользователей для мобильных устройств.
Значение по умолчанию: false

Примеры кода

  • cURL (Webhook)
    curl -X POST \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"attachId":**put_attach_id**,"pageSize":**put_page_size**,"userForMobileFormat":false}' \
    https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webbhook_here**/vote.AttachedVote.getWithVoted
  • cURL (OAuth)
    curl -X POST \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"attachId":**put_attach_id**,"pageSize":**put_page_size**,"userForMobileFormat":false,"auth":"**put_access_token_here**"}' \
    https://**put_your_bitrix24_address**/rest/vote.AttachedVote.getWithVoted
  • JS
    try
    {
        const response = await $b24.callMethod(
            'vote.AttachedVote.getWithVoted',
            {
                attachId: **put_attach_id**,
                pageSize: **put_page_size**,
                userForMobileFormat: false
            }
        );
        
        const result = response.getData().result;
        console.log('Dat a:', result);
        
        processResult(result);
    }
    catch( error )
    {
        console.error('Error:', error);
    }
  • PHP
    try {
        $response = $b24Service
            ->core
            ->call(
                'vote.AttachedVote.getWithVoted',
                [
                    'attachId' => **put_attach_id**,
                    'pageSize' => **put_page_size**,
                    'userForMobileFormat' => false
                ]
            );

        $result = $response
            ->getResponseData()
            ->getResult();

        echo 'Success: ' . print_r($result, true);
        processData($result);

    } catch (Throwable $e) {
        error_log($e->getMessage());
        echo 'Error: ' . $e->getMessage();
    }
  • BX24.js
    BX24.callMethod(
        "vote.AttachedVote.getWithVoted",
        {
            "attachId": **put_attach_id**,
            "pageSize": **put_page_size**,
            "userForMobileFormat": false
        },
        function(result)
        {
            if(result.error())
            {
                console.error(result.error());
            }
            else
            {
                console.dir(result.data());
            }
        }
    );
  • PHP CRest
    require_once('crest.php');

    $result = CRest::call(
        'vote.AttachedVote.getWithVoted',
        [
            'attachId' => **put_attach_id**,
            'pageSize' => **put_page_size**,
            'userForMobileFormat' => false
        ]
    );

    echo '<PRE>';
    print_r($result);
    echo '</PRE>';

Обработка ответа

HTTP-статус: 200

{
    "result": {
        "attach": {
            "ID": 1,
            "VOTE_ID": 1,
            "COUNTER": 1,
            "QUESTIONS": {
                "1": {
                    "ID": "1",
                    "ACTIVE": "Y",
                    "TIMESTAMP_X": "2025-08-12T11:47:50+03:00",
                    "VOTE_ID": "1",
                    "C_SORT": "10",
                    "COUNTER": "1",
                    "QUESTION": "Первое рест голосование",
                    "QUESTION_TYPE": "text",
                    "IMAGE_ID": null,
                    "DIAGRAM": "Y",
                    "DIAGRAM_TYPE": "histogram",
                    "REQUIRED": "N",
                    "FIELD_TYPE": "0",
                    "FIELD_NAME": "bx_vote_event[1][BALLOT][1]",
                    "IMAGE": null,
                    "ANSWERS": {
                        "1": {
                            "ID": "1",
                            "ACTIVE": "Y",
                            "TIMESTAMP_X": "2025-08-12T11:47:50+03:00",
                            "QUESTION_ID": "1",
                            "C_SORT": "10",
                            "IMAGE_ID": null,
                            "MESSAGE": "первый вариант",
                            "MESSAGE_TYPE": "html",
                            "COUNTER": "0",
                            "FIELD_TYPE": "0",
                            "FIELD_WIDTH": "0",
                            "FIELD_HEIGHT": "0",
                            "FIELD_PARAM": null,
                            "COLOR": "",
                            "REACTION": "",
                            "~FIELD_NAME": "bx_vote_event[1][BALLOT][1]",
                            "FIELD_NAME": "bx_vote_event[1][BALLOT][1]",
                            "MESSAGE_FIELD_NAME": "bx_vote_event[1][MESSAGE][1][1]",
                            "~PERCENT": 0,
                            "PERCENT": 0
                        },
                        "3": {
                            "ID": "3",
                            "ACTIVE": "Y",
                            "TIMESTAMP_X": "2025-08-12T11:47:50+03:00",
                            "QUESTION_ID": "1",
                            "C_SORT": "20",
                            "IMAGE_ID": null,
                            "MESSAGE": "Второй вариант",
                            "MESSAGE_TYPE": "html",
                            "COUNTER": "1",
                            "FIELD_TYPE": "0",
                            "FIELD_WIDTH": "0",
                            "FIELD_HEIGHT": "0",
                            "FIELD_PARAM": null,
                            "COLOR": "",
                            "REACTION": "",
                            "~FIELD_NAME": "bx_vote_event[1][BALLOT][1]",
                            "FIELD_NAME": "bx_vote_event[1][BALLOT][1]",
                            "MESSAGE_FIELD_NAME": "bx_vote_event[1][MESSAGE][1][3]",
                            "~PERCENT": 100,
                            "PERCENT": 100
                        },
                        "5": {
                            "ID": "5",
                            "ACTIVE": "Y",
                            "TIMESTAMP_X": "2025-08-12T11:47:50+03:00",
                            "QUESTION_ID": "1",
                            "C_SORT": "30",
                            "IMAGE_ID": null,
                            "MESSAGE": "Третий вариант",
                            "MESSAGE_TYPE": "html",
                            "COUNTER": "0",
                            "FIELD_TYPE": "0",
                            "FIELD_WIDTH": "0",
                            "FIELD_HEIGHT": "0",
                            "FIELD_PARAM": null,
                            "COLOR": "",
                            "REACTION": "",
                            "~FIELD_NAME": "bx_vote_event[1][BALLOT][1]",
                            "FIELD_NAME": "bx_vote_event[1][BALLOT][1]",
                            "MESSAGE_FIELD_NAME": "bx_vote_event[1][MESSAGE][1][5]",
                            "~PERCENT": 0,
                            "PERCENT": 0
                        }
                    }
                }
            },
            "ANONYMITY": 0,
            "OPTIONS": 0,
            "userAnswerMap": {
                "1": {
                    "3": {
                        "EVENT_ID": "1",
                        "EVENT_QUESTION_ID": "1",
                        "ANSWER_ID": "3",
                        "ID": "1",
                        "MESSAGE": ""
                    }
                }
            },
            "canEdit": true,
            "canVote": false,
            "canRevote": false,
            "isVoted": true,
            "signedAttachId": "1.d6db75c1a03fe2313547841960f1d4e95906721cf211763be19855fc6aeec45b",
            "resultUrl": "\/vote-result\/qgp3r31sg4vj5vas",
            "downloadUrl": "\/bitrix\/services\/main\/ajax.php?action=vote.AttachedVote.download\u0026SITE_ID=s1\u0026signedAttachId=1.d6db75c1a03fe2313547841960f106721cf211763be19855fc6aeec45b",
            "entityId": 32219,
            "isFinished": false
        },
        "voted": {
            "3": [
                {
                    "ID": 1,
                    "NAME": "Саша",
                    "IMAGE": "https:\/\/your-domain.bitrix24.ru\/b13743910\/resize_cache\/2267\/cec8d72046af30148f6f5b573a3a0aa8\/main\/c7b\/c7bd44b1bab25dd97d038ce1b\/d5fb56b94dc2c3cd8c006a2c595a4895.jpg",
                    "WORK_POSITION": ""
                }
            ]
        }
    },
    "time": {
        "start": 1755077476.824466,
        "finish": 1755077476.928421,
        "duration": 0.10395503044128418,
        "processing": 0.10184097290039062,
        "date_start": "2025-08-13T12:31:16+03:00",
        "date_finish": "2025-08-13T12:31:16+03:00",
        "operating_reset_at": 1755078076,
        "operating": 0
    }
}

Возвращаемые данные

Название
тип
Описание
result
object
Корневой элемент ответа. Содержит информацию о голосовании и проголосовавших, структура описана ниже
time
time
Информация о времени выполнения запроса

Элемент ответа result {#result}

Название
тип
Описание
attach
attached_vote
Данные прикрепленного голосования, структура описана ниже
voted
object
Информация о проголосовавших пользователях, структура описана ниже

##### Элемент ответа attach {#attach}

Название
тип
Описание
ID
integer
Идентификатор прикрепленного голосования
VOTE_ID
integer
Идентификатор самого голосования
COUNTER
integer
Счетчик голосов
QUESTIONS
array
Массив с вопросами опроса
ANONYMITY
integer
Уровень анонимности опроса
OPTIONS
integer
Доступность переголосования
userAnswerMap
array
Карта ответов текущего пользователя
canEdit
bool
Может ли текущий пользователь редактировать опрос
canVote
bool
Может ли текущий пользователь проголосовать
canRevote
bool
Может ли текущий пользователь переголосовать
isVoted
bool
Проголосовал ли уже текущий пользователь
signedAttachId
string
Подписанный идентификатор
resultUrl
string
URL-адрес для просмотра результатов опроса
downloadUrl
string
URL-адрес для скачивания результатов опроса
entityId
integer
Идентификатор элемента, к которому прикреплен опрос
isFinished
bool
Завершен ли опрос

##### Элемент ответа voted {#voted}

Название
тип
Описание
ID
integer
Идентификатор пользователя
NAME
string
Имя пользователя
IMAGE
string
Ссылка на изображение пользователя
WORK_POSITION
string
Должность пользователя

Обработка ошибок

HTTP-статус: 4xx

{
    "error": "ATTACH_NOT_FOUND",
    "error_description": "Attach not found"
}

Возможные коды ошибок

КодОписание
ATTACH_NOT_FOUNDГолосование не найдено
ATTACH_READ_ACCESS_DENIEDНет прав для участия в голосовании
  • [](./index)
  • [](./vote.attachedvote.download)
  • [](./vote.attachedvote.get)
  • [](./vote.attachedvote.getAnswerVoted)
  • [](./vote.attachedvote.getMany)
  • [](./vote.attachedvote.recall)
  • [](./vote.attachedvote.resume)
  • [](./vote.attachedvote.stop)
  • [](./vote.attachedvote.vote)
  • [](./vote.integration.im.send)

💡 Экспертное мнение и рекомендации

Советы эксперта по интеграции:

  • Всегда используйте кэширование при частых запросах к vote.attachedvote.getWithVoted.md, чтобы разгрузить базу данных.
  • Соблюдайте стандарты PSR при написании обработчиков для «Получить данные голосования с информацией о проголосовавших vote.AttachedVote…».
  • Регулярно проводите аудит производительности системы с помощью встроенного монитора 1С-Битрикс.

Похожая задача в бизнесе?

Помогу автоматизировать процессы и внедрить ИИ

Меня зовут Андрей Горошко. Я Full-stack разработчик и эксперт по 1С-Битрикс. Настраиваю CRM Битрикс24, разрабатываю защищенные API и создаю умных ИИ-агентов для автоматизации рутины.

Related Post

Получить доступные поля привязок элементов корзины к оплатам sale.paymentitem…Получить доступные поля привязок элементов корзины к оплатам sale.paymentitem…

При разработке и поддержке проектов на платформе 1С-Битрикс критически важно использовать современные стандарты D7 API. В этом руководстве мы детально изучим тему «Получить доступные поля привязок элементов корзины к оплатам

Событие при добавлении реквизита onCrmRequisiteAddСобытие при добавлении реквизита onCrmRequisiteAdd

При разработке и поддержке проектов на платформе 1С-Битрикс критически важно использовать современные стандарты D7 API. В этом руководстве мы детально изучим тему «Событие при добавлении реквизита onCrmRequisiteAdd», разберем архитектурные особенности

Изменить чат-бот imbot.updateИзменить чат-бот imbot.update

Оптимизация производительности и безопасности — залог успешного проекта на 1С-Битрикс. Данный материал посвящен практическому применению «Изменить чат-бот imbot.update». Мы подготовили подробный разбор принципов работы и развернутые примеры интеграции. Изменить чат-бот