Обзор
Числа, которые показываются в списке тем Discussions, не вычисляются на лету. Ответы, просмотры, лайки, последняя активность, последний ответивший и принятый ответ хранятся на элементе темы в списке Discussions Topics и обновляются браузером пользователя, который отвечает, открывает тему или ставит лайк. Благодаря этому доска с тысячами тем остаётся быстрой — ценой того, что счётчик иногда может отставать от реальности. В этой статье объясняется, как поддерживается каждое значение в версии 26.10.3, в каких ситуациях оно выглядит неверным и как его исправить. Смысл счётчиков для конечных пользователей описан в KB10405. Лайки, просмотры и счётчики ответов в Discussions.
Как хранятся значения
| Показывается как | Столбец в Discussions Topics | Обновляется, когда |
|---|---|---|
| Ответов: N | Ответы (VtxReplyCount) | Опубликован утверждённый ответ (+1), ожидающий ответ утверждён в веб-части (+1), утверждённый ответ удалён или отклонён в веб-части (−1) |
| Просмотров: N | Просмотры (VtxViewCount) | Пользователь с правом записи открывает тему (+1), один раз для темы за сеанс браузера |
| Порядок в списке, 3 часа назад | Последняя активность (VtxLastActivity) | Тема создана; утверждённый ответ опубликован или утверждён |
| — | Последний ответ (VtxLastReplyBy) | То же, что и для последней активности; записывается автор ответа, в том числе когда ответ утверждает модератор |
| Нравится (N) | Лайки (VtxLikeCount) и Кому понравилось (VtxLikedBy) | Пользователь ставит или снимает лайк теме |
| Значок Есть ответ и галочка, представление С ответом, принятый ответ наверху | Принятый ответ (VtxAcceptedPostId) больше 0 на теме, Принятый ответ (VtxIsAccepted) на ответе; Статус (VtxStatus) устанавливается в Answered вместе с ними, если тема не закрыта | Автор темы или модератор нажимает Отметить как ответ или Снять отметку ответа |
У ответов есть собственные столбцы Лайки и Кому понравилось в Discussions Posts. Все эти обновления выполняются по возможности: если обновление счётчика не удалось после того, как сам ответ был сохранён, ответ остаётся, а счётчик просто не меняется. Веб-часть никогда не показывает ошибку из-за неудавшегося обновления счётчика.
📝 Заметка
Столбец Темы списка Discussions Boards (VtxTopicCount) увеличивается при создании темы в веб-части и уменьшается при удалении темы в веб-части — по возможности. Он нигде не показывается в веб-части, а темы, созданные импортёром классической доски или добавленные и удалённые прямо в списке, не учитываются, поэтому для точного значения считайте темы доски в списке Discussions Topics.
Счётчик ответов расходится с веткой
Симптом. В списке написано Ответов: 5, а в ветке показаны четыре, или наоборот.
Причины и решения.
- Ожидающие и отклонённые ответы не учитываются. Ответ, ожидающий утверждения, прибавляется к счётчику только после утверждения в веб-части; отклонённый ответ не учитывается никогда, а когда модератор отклоняет уже утверждённый ответ, счётчик уменьшается на единицу. Модератор видит в ветке ожидающие и отклонённые ответы, поэтому для модератора ветка вполне может показывать больше ответов, чем счётчик.
- Ответ утверждён, отклонён или удалён прямо в списке. Изменение столбца Статус утверждения в
Discussions Postsили удаление элемента там идёт в обход веб-части, поэтому счётчик не затрагивается. Утверждайте, отклоняйте и удаляйте в веб-части; если изменение сделано в списке, исправьте счётчик вручную (см. ниже). - Два человека ответили одновременно. Каждый браузер читает текущее значение, прибавляет единицу и записывает обратно; два одновременных ответа могут быть засчитаны как один. Это случается редко и исправляется само при следующем ручном редактировании значения.
- Отвечающий не может изменять элемент темы. Счётчик живёт на теме, которую создал кто-то другой. Если владелец сайта установил в Параметры списка → Дополнительные параметры → Разрешения на уровне элементов (List settings → Advanced settings → Item-level permissions) списка
Discussions Topicsзначение Создание элементов и изменение элементов, созданных пользователем, обновлять счётчики темы смогут только автор и модераторы. Оставляйте для списков Discussions значение по умолчанию Создание и изменение всех элементов. - Импортированные темы. Импортёр классической доски устанавливает счётчики на завершающем этапе (Обновление счётчиков и ответов); если импорт был прерван, запустите его повторно. См. KB10421. Устранение неполадок при импорте классической доски.

Просмотры не считаются или считаются слишком часто
Симптом. Тема, которую прочитали многие, показывает лишь несколько просмотров, либо счётчик растёт, когда один и тот же человек возвращается к теме в новом сеансе браузера.
Причина. Веб-часть прибавляет один просмотр при открытии темы, записывая его в элемент темы, но только один раз для темы за сеанс браузера: она сохраняет флаг в хранилище сеанса (session storage) браузера, поэтому повторное открытие темы в том же сеансе не учитывается. Флаг очищается при закрытии вкладки браузера, поэтому новый сеанс, другой браузер или другое устройство засчитываются снова, а если браузер блокирует хранилище сеанса, учитывается каждое открытие. Посетители с разрешением Чтение (Read) писать не могут, поэтому их визиты не учитываются вовсе; на доске, где большинство — читатели, счётчик отражает только участников. Визиты автора учитываются как любые другие. Счётчик, который вы видите, открывая тему, — это значение до вашего собственного визита.
Решение. Чинить здесь нечего; считайте просмотры показателем активности участников, а не размера аудитории. Если счётчики не нужны, скройте их параметром Показывать счётчики ответов и просмотров в панели свойств, см. KB10422. Представления, постраничная загрузка, поиск и счётчики: настройки отображения веб-части Discussions.
Последняя активность и последний ответ
Симптом. Тема, отредактированная сегодня, по-прежнему находится далеко внизу списка Недавние; тема, последний ответ в которой удалили, сохраняет старую дату; в Последний ответ указан модератор, который ни разу не отвечал.
Причина. Последняя активность и Последний ответ устанавливаются при создании темы и при публикации или утверждении утверждённого ответа. Они не меняются при редактировании темы или ответа, при лайке, закреплении, рекомендации или закрытии, при отклонении ответа и при удалении последнего ответа — в этом случае остаются предыдущие значения. Когда модератор утверждает ожидающий ответ, веб-часть записывает в Последний ответ автора ответа, а не модератора. Версия 26.10.2 записывала утвердившего модератора, поэтому в темах, ответы которых были утверждены в этой версии, по-прежнему может быть указан модератор.
Решение. Порядок списка верен для своей цели — показывать, где идут разговоры; если тема должна оставаться наверху, модератор может её закрепить (Закреплена). Чтобы исправить значение, отредактируйте столбцы в списке (см. ниже).
Лучший ответ и статус «Есть ответ»
Симптом. Вопрос показывает значок Есть ответ, но ни один ответ не отмечен как принятый; либо закрытая тема с вопросом по-прежнему показывает значок Есть ответ; либо принятый ответ не наверху; либо нет кнопки Отметить как ответ.
Причины и решения.
- Состояние «с ответом» следует за принятым ответом, а не за статусом. Значок Есть ответ, галочка и представление С ответом зависят от того, что Принятый ответ больше 0; в представление Без ответа попадают вопросы, у которых Принятый ответ равен 0. Поэтому при закрытии темы с принятым ответом значок, галочка и место в представлении С ответом сохраняются, хотя Статус = Locked, а при повторном открытии темы Статус снова становится Answered (или Open, если принятого ответа нет). Так и задумано.
- Принятый ответ был удалён. Когда ответ удалён в веб-части, у темы очищается Принятый ответ и она возвращается в состояние Open (закрытая тема остаётся Locked), поэтому вопрос возвращается в представление Без ответа. Если ответ был удалён прямо в списке или в версии 26.10.2, тема по-прежнему хранит идентификатор удалённого ответа в Принятый ответ: значок остаётся, хотя в ветке принятого ответа нет. Автор или модератор отмечает другой ответ кнопкой Отметить как ответ (что заменяет сохранённый идентификатор), либо модератор устанавливает в списке Принятый ответ = 0 и Статус = Open.
- Принять можно только ответы верхнего уровня. Кнопка Отметить как ответ предлагается для прямых ответов на вопрос, а не для ответов на ответы, и только в темах типа Вопрос. У темы типа Обсуждение лучшего ответа нет, и состояние «с ответом» она не получает никогда.
- Кнопку видят только автор и модераторы. Остальные участники кнопку Отметить как ответ не видят вовсе. Ожидающий ответ нельзя принять, пока он не утверждён.
- Тема закрыта. Кнопки Отметить как ответ и Снять отметку ответа скрыты, пока тема закрыта. Модератор сначала открывает тему, меняет ответ и снова закрывает её.
- Отмечены два ответа. При отметке нового ответа веб-часть снимает отметку с предыдущего принятого; если предыдущий к тому моменту уже был удалён, снимать отметку не с чего. Если какой-то ответ по-прежнему ошибочно показывает Принятый ответ, модератор открывает
Discussions Postsи устанавливает у него Принятый ответ (VtxIsAccepted) в значение Нет. - Статус изменён в списке. Установка Статус = Answered в списке не делает тему темой с ответом: значок и представление С ответом следуют за столбцом Принятый ответ. Верните значение Open, если ответ не отмечен.
Как принятие ответа выглядит для конечных пользователей, описано в KB10400. Отметка лучшего ответа в темах вопросов и ответов.
Лайки
Симптом. Показано Нравится (3), но в Кому понравилось перечислены только два человека, либо пользователь не может снять лайк.
Причина. Число лайков и список пользователей записываются из браузера вместе; одновременные лайки двух пользователей могут рассинхронизировать два столбца. Подсвечена ли кнопка Нравится для пользователя, зависит от списка Кому понравилось, а показываемое число — это счётчик Лайки. Читатели с разрешением Чтение видят число, но ставить лайки не могут.
Решение. Модератор может выровнять два столбца в списке: установить Лайки равным числу людей в Кому понравилось.
Исправление значений в списке
Модератор может исправить любое из сохранённых значений напрямую:
- Нажмите Открыть список над веб-частью (или в группе Доска панели свойств). Откроется список
Discussions Topics. - Найдите тему и откройте её элемент на редактирование. Столбцы Ответы, Просмотры, Последняя активность, Последний ответ, Лайки, Статус и Принятый ответ редактируются как любые столбцы списка. Состояние «с ответом» следует за столбцом Принятый ответ: установите в нём 0, чтобы вопрос снова стал вопросом без ответа.
- Чтобы получить верное число ответов, откройте
Discussions Postsи отфильтруйте его по столбцу Тема и Статус утверждения = Approved; число элементов и есть значение для столбца Ответы. - Сохраните и перезагрузите страницу с доской.

❗ Важно
Редактируйте только перечисленные выше столбцы. Не меняйте Доска, Тип, Путь, Уровень и Родительское сообщение и не удаляйте и не переименовывайте столбцы Vtx: веб-часть распознаёт их по фиксированным идентификаторам, и от них зависит структура ветки. Каждое изменение элемента темы, включая каждый засчитанный просмотр, создаёт версию в журнале версий списка; уменьшите число хранимых версий в разделе Параметры управления версиями (Versioning settings), если журнал растёт слишком быстро.