Загрузка приложения…
Redmine Manager
Войдите через учётные данные Redmine
Логин *
Пароль *
⏱ Трудоёмкость
часов
Добавить задачу в план
Поиск по всем задачам Redmine
📥 Входящие 0
📆 Текущий график 0
🌐 Глобальные 0
📋 История изменений
Что нового в релизе от 11.06.2026
  • Маршруты задач теперь покрывают трекеры «Ошибка» и «Улучшение» (ТЗ #81024). Жизненный цикл: Новый → В план → В работе → Тестирование → Закрыт, с петлёй доработки. Закрытие — только через тестирование; переоткрытие закрытых запрещено (заводится новая задача со связью); «Технический долг» возвращает в план только руководитель проекта. Включается отдельным тумблером в «Маршрутах задач», действует в проектах из настраиваемого списка. Подробности — вики «Жизненный цикл задач Улучшение и Ошибка».
  • Менять трекер между «Поддержкой» и «Ошибкой»/«Улучшением» при включённом строгом режиме нельзя: вместо перевода — новая задача со связью «связана с», обращение закрывается и попадает в статистику закрытых. Смена «Ошибка» ↔ «Улучшение» доступна менеджеру.
  • При заведении «Ошибки» обязательны секции «Как должно работать» и «Как реально работает», у «Улучшения» — анкета приёма функционала; шаблон подставляется в описание автоматически, задача заводится на руководителя проекта. «Обратная связь» в этих трекерах — только внутри команды разработки, возврат — запросившему; вопросы саппорту или клиенту — подзадачей «Поддержка».
  • Задача «Ошибки»/«Улучшения», попавшая в зафиксированный план спринта, сама получает статус «В план». На карте маршрутов появились бэйджи ролей на стрелках (М — менеджер, Р — разработчик, Т — тестер) и переключатель трекера; в маппинге ролей добавлен «Тестер».
  • Виджет «Маршрут задачи» и строгий режим «Поддержки» не срабатывали из-за фильтра по проекту (Redmine не отдаёт идентификатор проекта в карточке задачи) — починено.
  • Контроль учёток VPN (3X-UI) перестал работать после обновления панели: сверка падала с ошибкой подключения, на ответственного висел тикет. Авторизация переведена на токен и поддержан новый адрес панели — сверка доступов VPN снова проходит.
Что нового в релизе от 10.06.2026 23:40
  • В эффективности появились «спасатель» и «стрелочник». Передал коллеге задачу, которая уже просрочена, — её нулевой балл остаётся в твоём счёте (метка 🔁 «передал просроченной»), даже если переназначил руководитель. Получивший такую задачу — спасатель: его срок отсчитывается от момента получения плюс оценка (метка 🛟), чужая просрочка ему не вменяется. Учитываются и переназначения, сделанные напрямую в Redmine.
  • У тестировщиков кнопка 🎯 теперь показывает QA-метрику (время задачи на тесте против оценки) — ту же, что в их панели «Моя эффективность». Раньше кнопка считала процент по плановым срокам, которые под тестировщика не выставляются. То же число видно в дашбордах отдела и компании.
  • «Журнал изменений» эффективности помечал любое закрытие как «в срок», даже с просрочкой в сутки. Теперь просроченные закрытия помечаются честно.
  • Сокращённый предпраздничный день теперь во всех расчётах считается рабочим, но короче на час (до 17:00). Раньше часть расчётов считала его выходным — просрочка в такой день «не тикала». Условный срок задач из «Входящих» в такой день — 17:00 вместо 18:00.
  • В «Хронологии» счётчики «переводов в Обратную связь» и закрытий теряли события, если к моменту просмотра ни одна задача дня уже не стояла в этом статусе. Теперь все переходы за день считаются полностью.
  • Назначение задачи на сотрудника в отпуске теперь проверяется на сервере, а не только в карточке задачи: при любом способе назначения система предложит замену или попросит подтвердить решение. Назначение на себя не ограничивается.
  • Проценты эффективности за текущий месяц пересчитаны по новым правилам — сравнивать с прошлой неделей некорректно: у кого-то показатель изменится без действий с его стороны. Это разовый эффект перехода.
Что нового в релизе от 10.06.2026 16:30
  • Добавлен контроль эмодзи в текстах задач (#84094). Redmine не принимает «новые» эмодзи (😀 🚀 и подобные) и падал с ошибкой 500 без объяснения. Теперь при сохранении комментария, названия, описания, сводки, темы для пользователя и причины переноса срока такой символ ловится ещё до отправки: поле подсвечивается красным, а сообщение показывает, какие именно эмодзи нужно убрать или заменить текстом. Простые значки (⚠ ★ ♻) по-прежнему работают.
Что нового в релизе от 10.06.2026 15:40
  • В разделе «Хронология» время комментариев, смен статуса и других событий показывалось на 3 часа вперёд (например, комментарий, оставленный в 14:19, отображался в 17:19 — «из будущего»). Часовой пояс ошибочно прибавлялся дважды. Теперь время событий на оси и в таблицах совпадает с реальным.
Что нового в релизе от 10.06.2026 15:10
  • Заработал контроль телефонии Sipuni. Карточка «Sipuni (телефония)» в «Контроль интеграций» теперь сверяет выданные менеджерам номера (учётки Sipuni) с инвентарём доступов — как у VPN/SIP/Gitea: непривязанная учётка и активная учётка у уволенного сотрудника видны в «Доступах» и эскалируются автотикетом на ответственного. В карточке сотрудника появилась секция «☎ Sipuni» с пикером: номер выбирается из реального списка учёток Sipuni, без ручного ввода. Для работы нужны ключи SIPUNI_API_* в .env и назначенный ответственный.
  • В разделе «Доступы» рядом с номером учётки Sipuni теперь показывается ФИО сотрудника (из Sipuni) — вместо голого внутреннего номера «201» видно, кто это.
Что нового в релизе от 10.06.2026 14:30
  • В «Настройки → Контроль интеграций» появилась карточка «Sipuni (телефония)» с кнопкой «🔌 Проверить API Sipuni». Это первый шаг к контролю выданных менеджерам мобильных номеров (SIM-карты Sipuni) по той же схеме, что VPN/SIP/Gitea: непривязанный номер и номер у уволенного сотрудника будут видны в «Доступах» и эскалироваться автотикетом. Кнопка делает разовый реальный запрос к Sipuni и показывает фактический формат ответа — по нему достроим автоматическую сверку. Ключ доступа задаётся в .env (ЛК Sipuni → Интеграции → API).
Что нового в релизе от 10.06.2026 12:35
  • В модалке «Новая волна раскатки» при включении галки «Создать тикет на саппорт» появилось поле «Комментарий для саппорта». Текст попадает блоком «Указания от ПМ» в описание каждой задачи на саппорт волны — СТП сразу видит, что именно нужно сделать на клиенте сверх стандартной инструкции. Комментарий получают и задачи, созданные позже: через «Создать недостающие автозадачи» и «+ В волну». Клиенту он не виден.
  • Поле «Комментарий» внизу модалки волны переподписано в «Служебная заметка (только история волн)» — чтобы не путать с новым полем: заметка видна только в сводной таблице волн и в задачи на саппорт не попадает.
Что нового в релизе от 10.06.2026 01:45
  • На «🕒 Хронологии» дорожка «Виджет рекомендовал» больше не подсовывает глобальные задачи (с подзадачами). Реальный виджет «🎯 Чем заниматься сейчас» такие задачи в основной слот не показывает — для них есть отдельный сигнал «🌀 РАЗГРЕБАЙ ГЛОБАЛЬНЫЕ». Симулятор реплея этого правила не знал и при просроченной глобалке заполнял ею почти весь день, хотя в строках-задачах её не было и быть не должно. Метрика «Совпадение с виджетом %» теперь не падает из-за этих фантомных рекомендаций.
  • На «🕒 Хронологии» тултип красного маркера закрытия теперь объясняет, почему задача отмечена просрочкой: показывает категорию («с просрочкой» / «в срок» / «досрочно») и плановый дедлайн, от которого считается отклонение. Особенно полезно для задач не из плана дня — раньше было непонятно, почему закрытие back-log-задачи рисуется красным.
Что нового в релизе от 10.06.2026 01:28
  • На «🕒 Хронологии» исправлено отображение таймлайна. Раньше на узких мониторах строки задач сплющивались по высоте — становилось трудно различать ряды и попадать в маркеры. Также правый край подрезал метку «20:00» у последнего часа и красные дельты времени у поздних маркеров закрытия (типа «+2ч 15м»). Теперь чарт всегда показывает все задачи в полную высоту; если экран уже минимально необходимой ширины — появляется горизонтальный скролл, но строки остаются нормальной высоты.
Что нового в релизе от 10.06.2026
  • «🎯 Моя эффективность»: закрытые задачи неправильно классифицировались как «сверх плана» и давали полный балл, даже если фактически закрыты с опозданием. Причина — расхождение часовых поясов: Redmine API отдаёт время закрытия в UTC, а CF10 («Дата для выполнения») хранится в МСК; модуль расчёта эффективности сравнивал их напрямую, без перевода — все закрытия «съезжали» на 3 часа назад. В итоге закрытие в 19:00 МСК при дедлайне 16:00 выглядело как «закрыто в 16:00 ровно в срок», а реальная просрочка 0–3 часа уходила в зону «досрочно» с бонусом +1% (если доска чистая). Теперь время закрытия и дедлайн корректно сравниваются в МСК — категория, балл задачи и счётчик сверхплановых закрытий показывают реальное положение дел. Параллельно поправлен тот же скрытый сдвиг в модуле QA-метрики тестировщика (qa_time).
  • Весь исходящий AI-трафик к Anthropic Console теперь можно прогнать через единый внутренний reverse-proxy ctunnel.infoas.biz (одна подконтрольная точка для всех вызовов нейронок — firewall, логи, централизованное вырубание). Хост вынесен в env-переменную ANTHROPIC_API_BASE_URL: на проде она указывает на туннель, на dev-стендах остаётся пустой и код ходит на api.anthropic.com напрямую. Health-check «Контроля интеграций» (карточка «Anthropic Console») автоматически идёт по тому же адресу — если туннель ляжет, ответственный получит стандартный тикет.
Что нового в релизе от 09.06.2026 16:36
  • На «🕒 Хронологии» дорожка «Виджет рекомендовал» подсовывала забытые задачи 1–3-летней давности (например, висящие в «Обратной связи» с 2023 года). Реальный виджет «🎯 Чем заниматься сейчас» такие задачи не показывает — он работает по фильтру «Обновлено: Месяц» в шапке доски. Теперь то же самое окно применено в реплее: задачи, не обновлявшиеся 30+ дней, в дорожку не попадают. Метрика «Совпадение с виджетом %» стала отражать реальную ситуацию.
Что нового в релизе от 09.06.2026 14:35
  • В шапке между «📅 Календарь» и «⚠ Замечания» появился раздел «🕒 Хронология». План сотрудника на день (по дате выполнения CF10) и факт того, что он реально делал в Redmine: закрытия, переносы CF10, переназначения, переводы в «Обратную связь». Маркер закрытия зелёный = в срок, синяя звезда = досрочно, красный «!» с дельтой «+1ч 20м» = просрочка. У задач в строках номер раскрашен по статусу (зелёный=закрыт, красный=доработка, жёлтый=тест, синий=в работе) — та же логика, что в карточке задачи. Под таймлайном — сводка дня (закрыто в срок / досрочно / с просрочкой / вне плана / переносов / передал / принял / переводов в ОС) и четыре раскрывающиеся таблицы. Листалка дней ◀ ▶ Сегодня, выбор сотрудника по правам: рядовой видит только себя, руководитель отдела — свой отдел, управляющий партнёр — всех.
  • На «🕒 Хронологии» — дорожка-фон «Виджет рекомендовал»: восстанавливает, какую задачу подсказывал бы виджет «🎯 Чем заниматься сейчас» в каждый момент дня. Покрывает блокер CF14 (красный), активное окно CF10 (синий), просрочки и инбокс (оранжевый/серый). В сводке появилась цифра «Совпадение с виджетом %» — доля минут с активностью, в которые сотрудник работал именно над рекомендованной задачей. Сразу видно отклонение от рекомендаций: висел блокер 30 минут — а человек делал не его; или «чисто» по виджету — а сотрудник пилил долги (зачёт сверхплана).
Что нового в релизе от 09.06.2026 14:30
  • В карточке «Matrix-бот (отправка ЛС)» (Настройки → Контроль интеграций) появилась кнопка «🔗 Принять приглашение». Сценарий: админ Synapse пригласил бота в комнату (например, в общий чат для авторассылки отпусков, #84293), оператор вписывает id или alias комнаты в поле «Целевая комната» и жмёт кнопку — бот сам принимает приглашение. Раньше для этого пришлось бы лезть к боту в консоль. Кнопка идемпотентна: повторное нажатие на уже подключённой комнате просто подтвердит «бот в комнате». Дополнительно: при сохранении настройки «Целевая комната» система автоматически пробует войти — результат (успех или причина отказа, например «вас не приглашали») сразу виден под полем.
Что нового в релизе от 09.06.2026 14:00
  • В модалке «Из чего сложилась эффективность» подсказка про инбокс была некорректной: писала «N задач во входящих просрочены — каждая даёт 0% в средний», и у некоторых сотрудников эта цифра доходила до 600+ задач, хотя реальный процент эффективности от них не страдал. Текст обещал штраф, которого по факту нет. Причина: подсказка показывала ВСЕ задачи из инбокса (включая многолетний бэклог), а в реальную формулу попадают только задачи этого месяца — старый бэклог формула не видит. Теперь подсказка считает только задачи этого месяца и пишет правду. Дополнительно: если у вас в инбоксе есть бэклог из прошлых месяцев — он упоминается отдельной фразой «Кроме них в инбоксе N задач из прошлых месяцев — на этот процент не влияют (бэклог). Разгребайте при возможности». Та же поправка применена к плашке «📥 Входящие» в самом разделе. Это закрывает запрос «у меня висели задачи во входящих, но не вижу штрафа — что значит «даёт 0%»?» — теперь цифра в подсказке совпадает с фактическим влиянием на показатель.
Что нового в релизе от 09.06.2026
  • В карточке «Matrix-бот (отправка ЛС)» появилась кнопка «🔗 Принять приглашение». Сценарий: админ Synapse пригласил бота в комнату (например, в общий чат для авторассылки отпусков, #84293), оператор вписывает id или alias комнаты в поле «Целевая комната» и жмёт кнопку — бот сам примет приглашение. Раньше для этого пришлось бы идти к боту в консоль. Кнопка идемпотентна: повторное нажатие на уже подключённой комнате просто подтвердит «бот в комнате». Дополнительно: при сохранении настройки «Целевая комната» система автоматически пробует войти в неё — успех или причина отказа видны сразу под полем (например, «вас не приглашали — попросите админа Synapse»).
  • На спринт-доске устранена путаница «трекер уже сменил, а доска ругается». Раньше: открываешь задачу трекера «Поддержка», меняешь трекер на «Улучшение», возвращаешься на спринт-доску, тянешь задачу в ячейку разработчика — и получаешь ошибку «Поддержку нельзя назначать в спринт», хотя в Redmine трекер уже не «Поддержка». Кнопка «↻ Обновить данные» в правом верхнем углу страницы не помогала (это кнопка дашборда «Мои задачи», к спринт-доске она отношения не имеет); кнопка «↻» внутри самой вкладки «Спринт недели» помогала не всегда. Лечилось только полной перезагрузкой страницы (CTRL+F5). Воспроизвёлся в #83994 08.06: ПМ перевёл задачу с «Поддержки» на «Улучшение» и пытался отдать её на следующую неделю, доска цикл за циклом отвечала старым сообщением. Теперь перед размещением задачи спринт-доска всегда дёргает её свежее состояние с сервера — кеш используется только для отрисовки плашек, бизнес-правила (трекер и т.п.) проверяются на серверной правде. После смены трекера через карточку задача добавляется на доску сразу, без рефреша. Дополнительно: после сохранения карточки задачи её свежие данные теперь подхватываются и в результатах поиска по доске — раньше плашка в панели поиска продолжала показывать старый трекер до перезагрузки.
Что нового в релизе от 08.06.2026 23:30
  • В сообщении клиенту о раскатке (invmessage в программу учёта ФармЭксперт) последняя фраза теперь учитывает статус reason-тикета. Если задача всё ещё открыта — призыв остаётся прежним: «Обратную связь оставьте комментарием в указанной задаче в течение трёх рабочих дней». Если же задача на момент рассылки уже закрыта (а в волну такие иногда попадают — например, доработка вышла в релиз позже закрытия), вместо этого выводится «При наличии вопросов или уточнений напишите нам обращение через функционал создания обращения на главной странице программы ФармЭксперт» — комментарий в закрытую задачу клиент всё равно не оставит. В смешанной волне (часть тикетов открыта, часть закрыта) применяется текст для закрытых: «создайте новое обращение» — это работает в обоих случаях, а призыв оставить комментарий — нет.
Что нового в релизе от 08.06.2026 22:30
  • В карточке задачи кнопка «💾 Сохранить» больше не реагирует на повторные клики, пока идёт сохранение. Раньше при медленном ответе Redmine (загрузка вложений + PUT + чтение свежей версии — может занять 1–3 секунды) нетерпеливый юзер успевал кликнуть 2–3 раза, и в журнал задачи уезжало столько же одинаковых комментариев — например, в #83308 08.06 случайно ушли три одинаковых комментария за 26 секунд. Теперь на время запроса кнопка показывает «⏳ Сохранение…» и блокируется до завершения (успешного или с ошибкой).
Что нового в релизе от 08.06.2026 21:12
  • Авторассылка отпусков/больничных/отгулов в общую Element-комнату «Общий — ФЭ» (#83308). Раньше сотрудник должен был сам за 5 дней до выхода написать сообщение в общий чат по шаблону из вики «ОтпускБольничныйОтгулы» (период, кому переадресовать обычные вопросы, кому — экстренные). Теперь это делает Redmine-менеджер сам, как только отпуск согласован: для регулярного отпуска / «В счёт отпуска» / «Без содержания» — за 5 дней до старта; для больничного и однодневного отгула — сразу при согласовании, если период ещё не прошёл (частичный отгул в часах не объявляется). Сообщение пишется в третьем лице («Сотрудник Иванов Иван Иванович с 01.07.26 по 14.07.26 будет в отпуске …») — имя берётся ровно как настроено в карточке сотрудника, без сокращений. Замещающего и руководителя система определяет автоматически — по «Замене» в карточке сотрудника и по руководителю отдела, при их отсутствии — управляющий партнёр; владелец отпуска явно исключается из всех ролей (нельзя «передать вопросы самому себе», даже если у него пуста «Замена» и он же управляющий партнёр). Если даты отпуска сдвинули или отпуск отменили — в ту же ветку чата уйдёт реплай-уточнение, исходное сообщение не правится. В карточке отпускной задачи появилась плашка «📋 Будет объявлено …» / «📨 Объявлено …» с кнопкой «Объявить сейчас» / «Объявить ещё раз».
  • Целевая комната для авторассылки настраивается в «Настройки → Контроль интеграций» в карточке «Matrix-бот (отправка ЛС)», новое поле «Целевая комната» (по умолчанию #mainroom:udobney.net). Смена применяется на следующем плановом тике (раз в час) без рестарта приложения. Чтобы бот мог писать, его MXID должен быть участником комнаты — иначе при первой попытке отправки в журнале появится понятное предупреждение.
  • В плашке отпускной задачи появилась кнопка «🧪 Проверить текст». Отправляет сгенерированное сообщение в личку владельцу отпуска (через того же Matrix-бота, что и DM-уведомления) — можно прочитать, что именно уйдёт в общий чат, до публичной отправки. В общую комнату при тесте ничего не публикуется, в журнале объявлений тоже не остаётся следов.
  • Кнопки «Объявить сейчас», «Объявить ещё раз» и «🧪 Проверить текст» больше нельзя продублировать случайным двойным кликом: на время запроса все кнопки плашки блокируются с надписью «⏳ Отправка…», после успеха нажатая показывает «✓ Отправлено» и не реагирует 10 секунд. Дополнительно сервер не пускает повторный вызов в окне 10 сек по тому же тикету — защита от гонки запросов из разных вкладок или нажатия из соседней модалки.
  • В карточке сотрудника без отдела (управляющий партнёр) поле «Замена» теперь не пустое: селект показывает всех активных сотрудников. Раньше выбор был принудительно ограничен «своим отделом» — у безотдельного сотрудника отдела нет, и поле зависало без вариантов. Для сотрудников с отделом правило прежнее — список ограничен коллегами того же отдела.
  • Ошибки сетевого доступа к Matrix-серверу (например, тест отправки без VPN) теперь сопровождаются понятным сообщением: «Не удалось разрешить адрес Matrix-сервера. Скорее всего, вы локально без VPN — имя сервера живёт только во внутреннем DNS компании. Подключитесь к VPN и повторите». Раньше выводился сырой Python-стектрейс HTTPSConnectionPool, по которому без специальных знаний было непонятно, что это — баг кода или просто нужно поднять VPN. Аналогично распознаются таймауты и connection refused.
Что нового в релизе от 08.06.2026 14:00
  • Тикеты, которые «Контроль интеграций» создаёт ответственному при затяжной поломке внешнего сервиса (например, «CSV-выгрузка Claude.ai Team устарела» #84132), теперь приходят в трекере «Поддержка», а не «Ошибка». Семантически такой тикет — это запрос на правку конфигурации или восстановление доступа, а не баг продукта; в трекере «Ошибка» он попадал под workflow и обязательные поля, рассчитанные на ошибки разработки. Поведение «куда» (проект «Общий over») и «на кого» (ответственный за интеграцию из «Настройки → Контроль интеграций», с автозаменой при отпуске) не изменилось.
Что нового в релизе от 08.06.2026 09:20
  • Карточка задачи снова открывается, если у задачи проставлена оценка трудоёмкости, но не назначена «Дата для выполнения». Раньше в таком сочетании клик по задаче приводил к бесконечной загрузке: модалка не рисовалась, в логе браузера висела ошибка TypeError: Cannot read properties of null. В обычных списках такие задачи встречаются редко, поэтому проблема всплывала точечно — например, у задач из «Базы знаний», где срок не ставится принципиально, а оценка нужна для учёта времени. Теперь в плашке «Время к выполнению» в этом случае честно отображается «Оценка: N ч — дата не назначена» с кнопкой «📅 Назначить дату →», как и было задумано. См. #84118.
Что нового в релизе от 07.06.2026 19:20
  • Задачи из amoCRM теперь учитываются в расчёте процента результативности — наравне с задачами Redmine. Раньше у продажников и аккаунт-менеджеров в виджете «🎯 Моя эффективность» и в разделе «Эффективность отдела» считались только задачи Redmine. Реальная нагрузка (звонки, презентации, поставленные в amoCRM напоминания «связаться», «выслать предложение») в процент не входила, и картина выглядела неполной. Теперь AMO-задача даёт свой балл по тем же правилам, что и Redmine-задача без оценки трудозатрат: открыта в срок — 100%, открыта и срок прошёл — 0%, закрыта в срок (±1 час) — 100%, закрыта с просрочкой — минус 1% за каждый начатый рабочий час просрочки (пол 30%). Срок AMO-задачи — это её «Срок выполнения» в amoCRM. Вес — те же 0.5 часа, что и у любой задачи Redmine без проставленной оценки, чтобы пара десятков звонков не «перевешивала» большие тикеты разработки. Открытая AMO-задача с прошедшим сроком теперь делает «доску» грязной — сверхплановый бонус скрывается, пока такая задача не будет закрыта в amoCRM. В модалке «📅 По дням» AMO-строки помечены значком AMO вместо номера тикета; клик открывает карточку клиента или сделки в amoCRM в новой вкладке (закрывать саму задачу по-прежнему нужно там). Привязка сотрудника к amoCRM настраивается в «Настройки → Доступы → amoCRM». Если связи нет, ничего не меняется — у сотрудника считается только Redmine.
  • В модалке «📋 Задачи сотрудника» (открывается из карточки эффективности) в категории «🔒 Закрыл сам» теперь учитываются и закрытия в amoCRM. Раньше там были только Redmine-закрытия, и счётчик расходился с цифрой, которую AMO уже даёт в базу эффективности. Теперь Redmine и AMO считаются вместе: AMO-задачи в списке помечены значком AMO вместо номера тикета, в столбце трекера — [amoCRM], клик ведёт на карточку клиента или сделки. Остальные категории — «🔁 Эстафета», «⚠ Передал — висит», «↪ Передал — закрыта», «↩ Возвращали обратно» — AMO не учитывают сознательно: в amoCRM нет понятия передачи задач между сотрудниками и статусной модели «принял/передал», эти категории применимы только к Redmine.
  • В разделе «📋 История изменений» вёрстка пунктов с моноширинными вставками (например, значок AMO или код раздела вики) больше не разваливается на две колонки. Раньше пункт был flex-контейнером и любой <code> внутри текста становился отдельным «столбцом», вокруг которого обтекал остальной текст. Теперь пункт обычный блок, моноширинные вставки рендерятся как inline-фрагменты по месту, без разрыва абзаца.
  • В том же виджете, в блоке «📅 По рабочим дням периода», подпись над таблицей больше не говорит «(= база сверху)». Это утверждение было неверным: «среднее по дням» (например, 94.3%) считается как арифметическое баллов дней-с-закрытиями, а «база» сверху виджета (например, 74.3%) — это средневзвешенное по ВСЕМ задачам периода, включая открытые. Они принципиально не равны и не должны равняться. Теперь подпись честно говорит «среднее по N дням с закрытиями», без ложного знака равенства, и наведение мышью на это число объясняет, чем оно отличается от базы.
  • Под раскрытием строки дня больше не показывается «Σ вес·балл / Σ вес → день = X.XX», смешивающее закрытия и открытые задачи в одно число. Раньше там получалась цифра (например, 0.43), которая не сходилась с балл-дня в шапке этой же строки (например, 0.88) — потому что футер усреднял ВСЕ задачи с любым изменением в этот день (включая открытые «срок прошёл» и «срок впереди»), а балл дня в шапке — только закрытия. Теперь под таблицей две отдельные строки: «📌 Закрытий в этот день: N · балл дня = X.XX» (то же число, что в шапке) и, если задач с обновлениями было больше — «📊 Всех обновлений: M · средневзв. Y.YY (справочно, на процент не влияет)». На каждой подсказка, что эта цифра означает.
  • В таблице «По рабочим дням периода» рядом с баллом дня появилась накопит. цифра — средняя по дням-с-закрытиями от начала периода до этого дня включительно. Стрелочка ↗ или ↘ показывает, тянет ли этот день общий показатель вверх или вниз. Пример: 1-го закрылись 5 задач со средним 0.89 → накопит. 0.89. 4-го закрылась одна на 0.96 → накопит. поднялся до 0.93 (↗). 5-го три закрытия со средним 0.98 → накопит. 0.94 (↗). Финальное накопит. ровно равно «средней по дням» сверху таблицы. Это то же ощущение, что давал прежний график результативности — куда катится тренд за месяц.
  • К каждой цифре в блоке «📅 По рабочим дням периода» — баллу дня, накопит. среднему, среднему по дням сверху — теперь привязана подробная подсказка: как считается, что входит, чем отличается от соседних метрик, в каких долях (0.00..1.00 или %). Иконка «?» рядом с заголовком блока разворачивает общую инструкцию: что показывает таблица, как читать накопит., как раскрытие строки соотносится с балл-дня.
Что нового в релизе от 04.06.2026 01:22
  • В карточке отпуска (статус «Новый» или любой не-«Согласован») сверху появился жёлтый баннер «⚠ Если согласовать сейчас — тема экспертизы останется без коллег» — со списком тем и точными датами, на которые по теме не остаётся ни одного активного коллеги (другие в отпуске/больничном/командировке/полном отгуле). Видно до клика «Сохранить», чтобы руководитель заранее знал о пробеле, а не узнавал после согласования из «Журнала предупреждений».
  • Диалог «Согласовать всё равно?» при согласовании отпуска без покрытия экспертизы наконец действительно срабатывает. Раньше внутренняя проверка молча пропускала шаг — пробел замечался только постфактум, через час, отдельной записью в журнале без активного уведомления. Теперь при попытке согласования всплывает подтверждение со списком тем и дат-«дыр»; если подтверждаете «всё равно» — решение фиксируется в журнале для аудита.
  • В разделе «Журнал предупреждений» больше не плодятся дубликаты по одной и той же причине. Раньше каждые несколько минут одна и та же запись «нет коллег по теме экспертизы» создавалась заново и старая шла в «решённые» — журнал быстро заполнялся идентичными строками. Теперь одна ситуация = одна открытая запись; она снимается автоматически, когда покрытие восстанавливается.
Что нового в релизе от 04.06.2026 00:51
  • KB-Updater (нейросетевой ассистент актуализации Базы знаний) больше не пропускает инцидентные тикеты под предлогом «инфраструктурный фикс, пользователю не видно». Раньше при таких тикетах нейронка ставила «актуализация не требуется», и диагностический паттерн (точные строки лога, причина, шаги диагностики) терялся — следующий специалист поддержки при повторении похожего сбоя проходил тот же путь с нуля. Теперь перед выводом «пропустить» нейронка обязана найти в разделе z_internal:support паттерн именно этого инцидента по ключевым словам из лога; если паттерна нет — создаётся диагностическая карточка. В «пропуске» теперь обязательно прикладывается результат поиска (какие ключевые слова использовала, что нашла) — без этого решение недействительно.
  • В регламент ведения базы знаний (вики проекта «База знаний») добавлен новый тип статьи — «Диагностическая карточка инцидента» для раздела z_internal:support. Структура из шести пунктов: симптомы (точные строки лога), чем отличается от похожих ошибок, причина, что было сделано, что делать при повторении, исторический контекст. Критерий создания: «сможет ли следующий сотрудник поддержки распознать этот сбой без звонка тому, кто разбирался в прошлый раз?» — если нет, карточка нужна.
Что нового в релизе от 04.06.2026 00:25
  • В пикере «📅 Назначить время» (карточка задачи) появилось поле «Причина переноса» — заполняется прямо в окне пикера и уходит в комментарий тикета одной транзакцией с новой датой. Раньше при втором и последующих переносах правило требовало комментарий, но ввести его было негде: окно пикера перекрывало карточку с полем «Комментарий», и получался замкнутый круг — приходилось сохранять дату через нативный Redmine. Поле показывается автоматически, если по задаче уже был хотя бы один перенос; снизу — счётчик «N / 50 символов». Если причину не вписали — окно пикера остаётся открытым с подсветкой поля и выбранной датой, без необходимости заново выбирать день/время.
  • Виджет «🗺 Маршрут задачи» в карточке задачи больше не показывает ошибочное «Нет доступных переходов» для саппорт-тикетов из проектов, отличных от inventory_2_0 (например, «Сайт»). Раньше там встречался статус «Тестирование», которого нет в карте маршрутов, и виджет ложно сигнализировал, что вернуть задачу можно только через нативный Redmine. Теперь виджет в таких проектах просто скрывается — статус правится обычным сохранением карточки, как для любых не-саппорт-тикетов.
Что нового в релизе от 04.06.2026 00:10
  • Личные отсутствия (отпуск, больничный, командировка, полный отгул, отпуск без содержания) теперь корректно учитываются в эффективности. Раньше эти дни считались обычными рабочими — если на них был запланирован срок выполнения задачи (CF10), задача автоматически считалась проваленной, и день уходил в 0% при подсчёте среднего за месяц. Командировка или отпуск могли «съесть» эффективность даже у тех, кто работал хорошо. Теперь: согласованные дни отсутствия исключаются из счёта точно так же, как обычные выходные, и в блоке «📅 По рабочим дням» подписаны с типом: «🏖 отпуск», «🤒 больничный», «📍 командировка», «📅 полный отгул», «🏖 отпуск без содерж.». Частичный отгул (несколько часов в дне) — остаётся рабочим днём, как и раньше.
Что нового в релизе от 03.06.2026 23:55
  • Зафиксированный спринт нельзя править через доску. Раньше у задачи на сетке оставались кнопка «✕ Убрать из плана» и активные ручки drag/resize — нажатие убирало задачу с глаз, в истории спринта она оставалась, а на доске пропадала. Так возникали «потери» вроде «задача в спринте 2 раза, но в первом её на сетке не видно». Теперь крестик, перетаскивание и изменение длительности на зафиксированной неделе отключены для всех, включая редактора плана. Чтобы поправить раскладку — сначала «🔓 Отменить фиксацию».
  • Если правка зафиксированной недели всё же ушла на сервер (например, из старой вкладки) — сервер её не применяет и возвращает понятное сообщение «Спринт зафиксирован — раскладка плана read-only. Отмените фиксацию, чтобы править», доска сама обновляется. Раньше такие запросы тихо проходили и расходились со зафиксированным планом.
Что нового в релизе от 02.06.2026 00:30
  • Поле «Дата для выполнения» теперь трактуется как плановое начало работы, а реальный дедлайн = «Дата для выполнения» + «Оценка трудоёмкости». Раньше дата считалась самим дедлайном, и оценка на просрочку не влияла. Пример: у задачи дата 01.06 20:30 и оценка 2 ч. — теперь она становится просроченной в 22:30, а не в 20:30. До этого баннер «Время к выполнению» уже в 21:30 писал «Просрочено на 1 ч.», хотя по плану на задачу было заложено 2 часа.
  • Подпись в баннере «Время к выполнению» в карточке задачи переписана: вместо «до 01.06.26 20:30 · оценка 2ч» теперь «начало 01.06.26 20:30 · оценка 2 ч. → дедлайн 01.06.26 22:30» — сразу видно и плановое начало, и итоговый момент, после которого задача считается просроченной. Если у даты нет времени (date-only CF10) — подпись «дедлайн 01.06.26» (на дневном гранулировании сдвиг оценкой неактуален). Если оценка не задана — поведение и подпись прежние: «до 01.06.26 20:30 · оценка не указана».
  • Изменение распространено на всю систему просрочек целиком, не только на баннер: в разделе «Замечания» («🔴 Просроченные задачи»), в виджете «Чем заниматься», в плашке «⚠ просрочено» рядом с подзадачами, в формуле «Моя эффективность» (для «в срок / с просрочкой» теперь сравнивается момент закрытия с дедлайном-с-оценкой), в детализации «📅 По рабочим дням периода» и в событии «дедлайн прошёл (не закрыта)» в журнале изменений эффективности. Везде используется одна и та же формула.
  • Метрика «Моя эффективность» за текущий период может заметно улучшиться у тех, кто закрывал задачи в пределах оценки после плановой даты — раньше такие закрытия уходили в «с просрочкой» и снижали процент, теперь корректно считаются «в срок». Метрики за прошлые периоды (исторические снимки в журнале) остаются как были — изменение применяется к расчётам «здесь и сейчас» и к новым закрытиям.
Что нового в релизе от 01.06.2026 21:00
  • В разделе «Настройки → Контроль интеграций» в карточке «📂 База знаний» появилась автопроверка «Свежесть БЗ». Раз в 10 минут сверяет дату последней правки страниц в DokuWiki с датой получения локального снимка wiki_data. Если хотя бы одна правка не доехала до приложения дольше суток — автоматически создаётся тикет ответственному (через ~25 часов после первой пропущенной правки). Раньше расхождение никак не контролировалось: если выгрузка wikidata.tar.gz переставала обновляться на источнике, AI-чат и KB-Updater молча работали по устаревшей базе знаний.
  • В плашке «Свежесть БЗ» в «Контроле интеграций» видны обе сравниваемые даты (последнее изменение в DokuWiki и дата нашего снимка), число несинхронизированных правок и возраст самой ранней пропущенной — чтобы сразу понимать масштаб расхождения, не лезя в логи. Алгоритм считает «самую раннюю пропущенную правку», а не «последнюю» — это ловит случай, когда в DokuWiki регулярно что-то правят, а наш снимок при этом замёрз.
  • На карте интеграций в вики проекта «for_admin» убрана пометка «регламент свежести базы знаний пока не задан». Регламент зафиксирован: «обновляется по факту изменения в DokuWiki, контроль свежести — авто, порог 24 часа».
Что нового в релизе от 31.05.2026 22:40
  • Строки в блоке «📅 По рабочим дням периода» стали кликабельными — клик по дню разворачивает подсписок задач этого дня с конкретными номерами и темами. По каждой задаче видно: тип закрытия (в срок / из инбокса / с просрочкой), балл этой задачи (0.30–1.00), вес (estimated_hours), опоздание в часах (для просрочек), исходный срок CF10. Внизу подсписка — формула дня в явном виде: «Σ вес·балл / Σ вес = балл дня», чтобы можно было пересчитать руками и убедиться, что цифра сходится. Это закрывает запрос «не вижу задач, которые повлияли на эти значения».
Что нового в релизе от 31.05.2026 22:00
  • В модалке «Из чего сложилась эффективность» появился блок «📅 По рабочим дням периода» — главный ответ на «откуда взялся такой процент». Каждый рабочий день месяца показан в строке: дата с днём недели, балл этого дня (с цветом — зелёный/нейтральный/красный), краткий состав закрытий («3 в срок ✓, 2 просрочки ⌛, 1 инбокс 📥»). Выходные подписаны, пустые дни без плана видны отдельно. Внизу — среднее по дням с данными = «База (план)» из шапки. Теперь процент можно пересчитать руками и убедиться, что цифра сходится — а главное, сразу видно, какие дни тянут вниз. Доступно и для своего профиля, и при просмотре чужого.
Что нового в релизе от 31.05.2026 21:00
  • Просроченные закрытия теперь честно учитываются в эффективности. Раньше система записывала факт «закрыто с опозданием на N часов» и вычисляла балл задачи (0.30–0.99), но потом молча выкидывала эту запись из формулы — в результате чем больше сотрудник закрывал просрочек, тем меньше «штрафа», что противоречит идее метрики. Теперь просроченное закрытие попадает в средний за день фактического закрытия с пониженным баллом. Если в день срока (CF10) задача не была закрыта, день срока тоже остаётся «провален» (0%) — то есть просрочка снижает показатель и на дне срока, и на дне закрытия (как и должно быть).
  • Бэкфилл меток закрытий: пройдён весь май, ~640 закрытых задач переразмечены через историю Redmine. До этого половина закрытий за май была «без классификации» (записи лежали до развёртывания модуля эффективности) и не учитывалась в формуле — у сотрудников, которые много закрывали в начале мая, процент эффективности был занижен. Сейчас исторические закрытия размечены: «в срок» / «с опозданием» / «из инбокса». Эффективность за май пересчитана для всех — у кого-то процент вырос, у кого-то снизился (особенно у тех, у кого много просрочек — раньше они исчезали).
  • Чистка «залипших нулей» в дневных показателях. Бывало так: на день в БД зафиксирован «балл = 0» (план провален), потом данные за этот день переписывали (план оказался пустым) — но 0 не сбрасывался в «не задан» и продолжал тянуть средний месячный показатель вниз. Теперь скрипт записи понимает разницу между «не присылать значение» и «явно сбросить в NULL». Чистка дней с фейковым нулём прошла за май для всех.
  • Новое окно «📋 Задачи сотрудника» — раскладка по поведенческим меткам за период. Открывается из модалки «Из чего сложилась эффективность» кнопкой «📋 Задачи». Категории-аккордеоны: «🔒 Закрыл сам», «↪ Передал — закрыта», «⚠ Передал — висит», «🔁 Эстафета» (только для трекера Поддержка — задача прошла через сотрудника в работе и была передана коллеге не через «Тестирование/Обратную связь»; сотрудник принял запрос, но не довёл до клиента), «↩ Возвращали обратно». В каждой категории — список задач с пагинацией по 20. Доступ — у руководителя отдела/управляющего партнёра + коллеги по отделу (тот же гейт, что в модалке эффективности).
Что нового в релизе от 31.05.2026 18:30
  • Hotfix к релизу 18:10 — модалка «Эффективность: Иванов Иван» зависала на «Загрузка…» и не подгружала ни один блок. Был ReferenceError в рендере (использовалась локальная переменная, не переданная в state). Прокинули, всё подгружается как должно.
Что нового в релизе от 31.05.2026 18:10
  • Модалка «Из чего сложилась эффективность» теперь показывает полную детализацию и для других сотрудников, а не только для себя. Раньше при клике по строке в разделе «🎯 Эффективность» открывался куцый вариант — только процент и список глобальных. Сейчас доступны все те же блоки, что и в «Моя эффективность»: «Как повысить» с конкретными задачами, инбокс с днями залегания, журнал изменений процента за сутки (sparkline + значимые дельты с событиями), детализация компонент по клику на ▸ (база/переносы/инбокс/сверхплан со списками задач). Доступ — у руководителя отдела, управляющего партнёра или коллеги по тому же отделу (бэк-гейт).
  • Когда смотрите чужую эффективность, над блоком «Как повысить» появляется плашка-контекст «👀 Это диагноз по сотруднику», чтобы рекомендации «Закройте задачу» / «Поставьте срок» не сбивали с толку (они адресованы сотруднику, не вам).
Что нового в релизе от 31.05.2026 17:45
  • В журнале изменений модалки «Моя эффективность» появилась подсказка «🔄 Фоновый пересчёт компоненты X» — когда показатель сместился, а событий (закрытие, перенос, попадание в инбокс) в этом окне не было. Раньше такие строки выглядели как «процент скакнул, причина неизвестна», а на самом деле это: правка формулы в релизе, упёрся/отпустил cap, дозаполнились данные задним числом. Теперь сразу видно, что событий не было, и не нужно гадать, где «потеряли» событие.
Что нового в релизе от 31.05.2026 17:30
  • В разделе «🎯 Эффективность» (свод отдела/компании) теперь кликабельна вся строка сотрудника, а не только цветная фамилия — открывается та же модалка «Из чего сложилась эффективность», что и для вас самих: процент, разбивка по компонентам (база, переносы CF10, инбокс, сверхплан), график за 12 месяцев и блок «Как повысить». Над таблицей появилась подсказка, чтобы новые пользователи находили эту функцию сразу, а не натыкались случайно. У строки при наведении подсвечивается фон и появляется шеврон «›».
Что нового в релизе от 31.05.2026 15:42
  • В модалке «Моя эффективность» компонент «Коэф. переносов CF10» больше не штрафует за перенос чужих задач. Раньше, если вы как руководитель/планировщик двигали срок на задаче, где исполнитель — другой сотрудник, перенос засчитывался вам в счёт (одна такая запись могла снизить итоговый показатель на 0.2%). Теперь учитываются только переносы своих задач — где вы и исполнитель, и тот, кто двигает срок. Расшифровка в тултипе и плашка «N переносов за 30 дней» в карточке сотрудника синхронно показывают то же число, что и в формуле. Карточка задачи («↻ перенесена N раз») по-прежнему показывает всю историю — там она нужна целиком.
  • Исторические записи переносов (до этого релиза) бэкфиллом не дополняются — у них не сохранён исполнитель на момент переноса. Поэтому в первые недели после релиза «Коэф. переносов CF10» у всех будет выглядеть лучше реальности, потом метрика наберёт собственный объём данных естественным путём.
Что нового в релизе от 31.05.2026
  • В модалке «Моя эффективность» больше не появляются ложные «зубцы» в графике «Журнал изменений» — когда показатель ни с того ни с сего скакал на +15% (или больше), а через несколько минут возвращался обратно. Причина была в том, что при кратковременном сбое связи с базой данных (флап сети, таймаут на доли секунды) расчёт компоненты «штраф инбокса» молча принимал «инбокс пуст = штраф 0», и снимок процента улетал в журнал как «правда». То же самое касалось компонент «Коэф. переносов CF10» и «Бонус сверхплана» — на флапе они подменялись «нейтральными» значениями. Теперь при любом сбое чтения хоть одной компоненты снимок пропускается целиком, следующий тик через 30 минут подберёт корректное значение. Заодно почищены 33 уже-кривых снимка за последнюю неделю — графики «Журнал изменений» у нескольких сотрудников станут гладкими.
Что нового в релизе от 29.05.2026
  • В журнале изменений задачи в строке «Назначен» теперь снова отображается имя сотрудника вместо числового id. Раньше при изменениях вида «Назначен: «24» → «6»» в истории мог показываться голый номер — если оператор не был в списке активных пользователей Redmine (уволенный, заблокированный или просто не попавший в пагинацию). Теперь система дополнительно подставляет имя из локальной базы сотрудников. Если в локальной базе тоже нет — остаётся прежний фолбэк на числовой id.
Что нового в релизе от 28.05.2026 23:40
  • Виджет «Время к выполнению» в карточке задачи теперь корректно показывает «Просрочено», если час дедлайна сегодня уже прошёл. Раньше при сроке вида «28.05.26 10:00» виджет до конца суток продолжал гореть «Сегодня!», даже если время давно вышло — теперь после прошедшего часа дедлайна показывается «Просрочено на N ч.» и плашка краснеет. Если в сроке указана только дата без времени — поведение прежнее, «Сегодня!» горит весь день.
Что нового в релизе от 27.05.2026 17:57
  • В «Настройки → Контроль интеграций» добавлена карточка «Пользователи Gitea» — раз в 10 минут менеджер сам сверяется с внутренним git-сервером. Аккаунты без сотрудника и активные доступы у уволенных видны в общей матрице «Настройки → Доступы»; если git-сервер вдруг не отвечает, ответственному автоматически прилетает тикет. По умолчанию проверка выключена — попросите администратора подключить её, дальше всё управляется кнопкой в карточке.
  • Для Gitea действует правило «один сотрудник = один аккаунт». При попытке привязать к человеку второй git-логин система покажет ошибку с подсказкой, какой аккаунт уже привязан — нужно сначала отвязать или удалить старый. Для остальных систем (Redmine, VPN и т.д.) поведение прежнее: разрешено несколько учёток на сотрудника, если так нужно.
  • В разделе «Доступы → Непривязанные» для Gitea-аккаунтов в колонке «External ID» теперь видно «ФИО (login)» вместо голого числового id — классифицировать заметно быстрее.
Что нового в релизе от 26.05.2026 19:00
  • Изменён текст сообщения, которое уходит клиенту в учётную программу при раскатке версии (галка «Сообщение клиенту в программу учёта» в волне раскатки). Вместо «Просим оставить обратную связь о результатах работы доработок» теперь: «Этап тестирования на нашей стороне завершён. Просим вас подключиться к проверке…» — с правильной плюрализацией под количество тикетов (1 обращение / 2 обращения / 5 обращений). Если AI-абзац с кратким описанием доработок получается слишком общим («реализована доработка по обращению клиента» — это уже сказано в шапке шаблона), он не вставляется — клиент не видит дублирующих фраз. Параллельно переписан промпт AI-переводчика: модель меньше галлюцинирует формулировки, которых не было в исходных тикетах.
  • В комментарии к раскатке версии (тот, что пишется в InfoAS-админке рядом с обновлением версии) теперь видны темы конкретных тикетов из волны, а не только их номера. Раньше комментарий состоял из служебных строк «сборка …», «источник: Redmine Manager» и голого списка #ID — теперь это убрано, вместо этого список вида «#80123 — Тема обращения» (тема обрезается до 80 символов). Темы подтягиваются по best-effort: если Redmine не ответил, в комментарии останутся просто номера.
  • Модалка «Моя эффективность» теперь открывается мгновенно. Раньше окно висело пустым 30–60 секунд (а в худшем случае — до 2 минут), пока подтянутся все блоки разом. Теперь сначала появляется сама панель со скелетонами-плашками, и каждый блок (большой процент, таблица «База/Коэф/Штраф/Бонус», советы «Как повысить», график «Журнал изменений», «Динамика по месяцам», «Косяки в глобальных задачах») заполняется отдельно по мере прихода своих данных — основные цифры видны через 1–3 секунды.
  • Блок «Косяки в глобальных задачах» больше не пересчитывается на каждое открытие модалки. Фоновый воркер раз в 30 минут считает и кладёт список в кеш — модалка читает оттуда. Раньше эта одна строка одна тянула 1.5–2 минуты на сотрудниках с большим количеством глобальных задач.
  • График «Динамика по месяцам» в модалке эффективности теперь считается параллельно: 12 месяцев одновременно вместо по очереди. Загрузка спарклайна сократилась с ~60 секунд до ~10.
  • В таблице компонент эффективности у каждой строки появился значок «▸». По клику разворачивается детализация: какие задачи и как повлияли. «База» — закрытия за период с баллом каждого; «Коэф. переносов CF10» — список переносов с пометкой «внутри дня — не в счёт»; «Штраф инбокс» — задачи в инбоксе с днями залегания; «Бонус сверхплана» — сверхплановые закрытия. Подгружается лениво по клику, открытие модалки не тормозит.
  • График «Журнал изменений» теперь сжат до рабочих часов вашего графика. Раньше график тянулся длинной прямой через ночь и выходные — было непонятно, какая часть дня просела. Нерабочее время теперь сворачивается (под графиком пишется «Скрыто N точек нерабочего времени»), а вся информативная динамика разворачивается на всю ширину. Список значимых дельт ниже не изменился — внерабочие события туда всё равно попадают, если процент реально шевельнулся.
  • Клик по тикету-ссылке из модалки «Моя эффективность» больше не закрывает саму модалку. Тикет открывается поверх, и при его закрытии вы возвращаетесь к панели эффективности на том же месте.
  • Форма логина больше не моргает при обновлении страницы. Раньше при F5 или открытии вкладки форма ввода учётных данных была видна 1.5–3 секунды, пока шла проверка сессии — пользователи начинали вводить логин и тут же получали авторизацию. Теперь поверх отображается оверлей со спиннером и подписью, на какой именно фазе мы находимся: «Проверка сессии», «Запрос к Redmine», «Загрузка профиля из БД», «Загрузка задач». Если фаза висит дольше 2 секунд — добавляется пометка «(долго)», после 8 секунд — оранжевый цвет и подсказка с возможной причиной (например, «возможно, моргает VPN-туннель»). Тот же оверлей теперь и при самом входе в систему — после нажатия «Войти» форма скрывается, виден прогресс.
Что нового в релизе от 25.05.2026 18:10
  • Устранена волна ошибок «502 Proxy Error», из-за которой утром все пользователи временно теряли доступ к интерфейсу. Корень: виджет «Чем заниматься» у тестировщика тянул из Redmine один огромный список задач (600+ ID одним запросом), сервер Redmine на это отвечал ошибкой через минуту и держал рабочие потоки занятыми. Теперь список разбивается на пачки по 100 задач — Redmine отвечает быстро, потоки не блокируются.
  • Закрытые в Redmine задачи больше не показываются у тестировщика как «открытые». Раньше после закрытия задачи без снятия исполнителя она навсегда оставалась в списке тестировщика. У некоторых тестировщиков таких «висяков» накопилось 400-500 штук. Теперь система учитывает не только смену исполнителя, но и закрытие задачи — фоновая сверка автоматически приведёт списки в порядок в течение ближайшего часа.
  • В виджете «Чем заниматься» у тестировщика очередь теперь сгруппирована по приоритету: 🎯 задачи текущего зафиксированного спринта → 📅 переданные на тест в этом месяце → 📦 более старые (backlog). Сверху рекомендуется задача из спринта, если их нет — из текущего месяца. Рядом с задачей виден значок группы, а в общем счётчике — сколько задач в каждой категории.
  • Раздел «Спринты» открывается в несколько раз быстрее. Раньше при большом количестве задач у разработчиков на загрузку доски уходило 25-30 секунд (видны мониторинговым «шиммером»). Теперь загрузка идёт параллельно — те же данные подтягиваются за 5-7 секунд.
  • Повторное обновление спринт-доски (после правки часовой раскладки или поллинга раз в 30 секунд) почти мгновенно: бейджи «в спринте N раз» подтягиваются из кеша. Нагрузка на CRM-БД при работе нескольких ПМ на доске одновременно снижена.
Что нового в релизе от 25.05.2026 00:05
  • В «Настройки → Контроль интеграций» добавлена интеграция «DeepSeek API» — фоновая проверка работоспособности облачной модели (раз в 10 минут). Если ключ просрочен, кончились кредиты или API недоступен — появится предупреждение, и через 30 минут будет создан тикет ответственному. По умолчанию проверка выключена: включается в карточке интеграции после прописывания DEEPSEEK_API_KEY в .env.
  • Доработки финансового блока.
Что нового в релизе от 24.05.2026 11:00
  • В плашке «Снижение эффективности» над «Входящими» глобальные задачи (родительские задачи с подзадачами) больше не начисляют штраф. Раньше задача без CF10, к которой затем добавлялись подзадачи, продолжала висеть в инбоксе и каждый день добавляла свой процент — она уже была «глобальной» в виджете, но внутри системы по-прежнему числилась как «обычная без срока». Теперь: при создании подзадачи через RM-менеджер родитель немедленно выходит из инбокса; то же происходит при переподвешивании существующей задачи. Воркер эффективности (каждые 30 мин) дополнительно зачищает исторические записи — задачи, ставшие глобальными до этого исправления, исчезнут из штрафа автоматически в течение получаса.
Что нового в релизе от 24.05.2026 01:14
  • В разделе «🚀 Спринты → 📊 Аналитика» в подсказке к счётчику «+N сверх плана» теперь видно, какие из этих задач реально новые, а какие — вернувшиеся доработки. «🆕 Новые» — задача раньше ни в один спринт не попадала; «🔁 Доработки» — задача уже была в каком-то прошлом спринте и теперь снова закрылась вне плана. Само число «+N» не изменилось — обе категории по-прежнему считаются сверхплановыми, разбивка нужна, чтобы отличить освоение нового от уборки хвоста.
  • В CSV-экспорте аналитики спринтов появилась колонка extra_kind: для строк сверхплана значение new или rework, для остальных категорий пусто. Удобно фильтровать в Excel и считать долю доработок отдельно.
Что нового в релизе от 24.05.2026 00:40
  • В карточке задачи появилась кнопка «📚 Статьи в БЗ по теме». По клику находит и показывает 3–5 страниц базы знаний, релевантных теме и описанию этого тикета. Если перед поиском написать вопрос в поле — добавится короткий AI-ответ на этот вопрос по найденным статьям. Вопрос по умолчанию подсказывается: «Есть ли ответ на вопрос из тикета в базе знаний? Если нет — задай уточняющие вопросы». Поиск дёргается только по клику, чтобы не нагружать сервис при каждом открытии тикета.
  • Черновик «Как это работает» теперь подкладывает в подсказку модели именно релевантные статьи БЗ, а не первые 2 КБ файлов из папки по алфавиту. Если сервис поиска недоступен — откатывается на старое поведение, инструмент остаётся рабочим.
  • В модалке задачи описание и комментарии больше не ломают имена с подчёркиваниями. Раньше ai_order_pay_code отображался как aiorderpaycode, а log_2126_2135.txt — как log21262135.txt: парсер принимал внутренние подчёркивания за курсив. Теперь курсивом считается только _текст_ на границе слова, как в самом Redmine.
  • Убраны «лестницы» пустого пространства между заголовками, таблицами и списками в описании задачи и комментариях. Раньше после каждой пустой строки в textile-разметке вставлялся лишний перенос поверх собственного отступа блока — получалась колонка пустоты на пол-экрана между разделами вроде «Вывод» и «Причина». Теперь плотность как в нативном Redmine.
Что нового в релизе от 24.05.2026 00:30
  • KB-Updater (фоновая сборка задач на тех.писателя по реализованному за спринт) перестал затягивать саппорт-обращения. Раньше в работу попадали все закрытые за неделю тикеты проекта «Учёт 2.0», включая трекер «Поддержка», — после долгого простоя одним проходом было создано 647 лишних задач в «Базе знаний». Теперь рассматриваются только трекеры реальной разработки: «Ошибка», «Улучшение», «Падение». Список настраивается без выкатки.
  • KB-Updater обрабатывает не более одного нерасобранного спринта за раз. Если накопилось несколько — раскатываются по одному с интервалом 10 минут, а не залпом. В сводке раздела «Контроль интеграций → KB-Updater» виден остаток очереди.
Что нового в релизе от 23.05.2026 19:59
  • Виджет «🎯 Чем заниматься сейчас» научился отдельно работать для тестировщика. Раньше очередь сортировалась по CF10 разработчика — задача всплывала наверх как «просроченная» уже в момент передачи на тест, хотя у тестировщика отсчёт должен начинаться с момента, когда задача стала его. Теперь у тестировщика свой порядок: «просрочка» → «бюджет горит» → «в работе» → «только переданы». В видимой строке виджета подписано, сколько задач в каждой корзине, наверху всегда задача, которой надо заняться прямо сейчас.
  • Бюджет каждой задачи у тестировщика — это оценка разработчика (estimated_hours): на час разработки даётся час тестирования. Если оценка не задана — бюджет 1 час (это давит на то, чтобы разработчик всё-таки оценивал). Время считается в рабочих часах (10–18, выходные и праздники не считаются). Возврат задачи в разработку приостанавливает счётчик, повторная передача снова его запускает — итерации не делят бюджет, он суммарный по всем заходам.
  • Когда суммарное время задачи у тестировщика превышает бюджет — появляется предупреждение «тестирование застряло» в «Настройки → Контроль интеграций». Закрывается автоматически, как только задача ушла или оценка была увеличена.
  • В разделе «🎯 Моя эффективность» у тестировщика теперь своя панель. Процент считается по другой формуле: 100 %, если задача уложилась в бюджет, −5 % за каждые +25 % превышения, минимум 30 %. В панели сверху есть раскрывающийся блок «Как устроены ваша очередь и ваш процент» — там объяснено, что определяет порядок задач в виджете и как считается процент. Ниже разбивка «сколько уложилось / сколько превысило / сколько превысило сильно», блок «❗ Что снизило процент» с конкретными цифрами и блок «💡 Что делать для повышения» с практическими советами.
  • Топ-10 «дорогих» задач периода — список задач, которые сильнее всего просадили процент тестировщика, с цифрами «у вас столько-то часов / бюджет столько-то / превышение / балл». Можно кликнуть в номер задачи и сразу её открыть.
Что нового в релизе от 22.05.2026 10:20
  • В разделе «📊 Метрики» в режиме «📅 По дням» над каждой серой вертикалью теперь подписана дата сборки (дд.мм). Раньше при плотных вертикалях приходилось целиться мышью в тонкую пунктирную линию, чтобы понять «это какая сборка». Теперь видно сразу.
  • В подсказке «❓» к разделу «📊 Метрики» в самое начало вынесен блок «🎯 Как этим пользоваться»: графики — это сверка, а не источник знаний. Знания о проблемах берутся от клиентов, СТП и менеджеров; графики только подтверждают вашу картину. Если график расходится с тем, что вы знаете — это сигнал о процессе коммуникации, а не о метрике.
  • Уточнена формулировка про серые вертикали: они стоят не на «дате сборки» (которая читалась как «дата компиляции»), а на дате первого появления сборки в парке. Это «когда клиенты её скачали и она прислала первый замер», а не когда её собрали в Jenkins.
  • Блок «Сравнить: A → B» в шапке раздела «📊 Метрики» теперь не уезжает за правый край при узком окне — шапка переносится на вторую строку. Заодно блок получил рамку, чтобы быть заметнее среди других контролов.
  • В режиме «📦 По релизам» из графика исчезли сборки старше выбранного периода. Раньше клиенты-«зависанцы», сидящие на билде месячной давности, лепили точки у левого края и забивали обзор свежих релизов. Теперь сборка попадает на график только если её дата компиляции в выбранном окне.
  • На блок «7д: X мс» в правом верхнем углу каждой карточки добавлена подсказка при наведении: что это weighted-avg за 7 дней и сравнение с предыдущими 7 днями. Раньше расшифровка была только в общей справке «❓».
Что нового в релизе от 21.05.2026 23:37
  • В режиме «📦 По релизам» появился выбор двух версий для сравнения. В шапке раздела два дропдауна «Сравнить: A → B» — по умолчанию подставляются последние две сборки парка. На каждой карточке справа сверху появляется значение метрики для версии A, для версии B и Δ между ними. На графике обе точки подсвечены цветным кольцом: A синим, B фиолетовым.
  • Сразу видно, как изменилась производительность от предыдущего к текущему билду по всем 6 метрикам разом — без переключения вкладок и без рассуждений «а где же эта точка на графике».
  • Кнопка ✕ рядом со списками сравнения возвращает обычный показ «7д: X мс» (среднее за последние 7 дней + изменение к предыдущей неделе).
Что нового в релизе от 21.05.2026 23:16
  • В подсказке «инбокс этого месяца снижает на −X%» в модалке «🎯 Моя эффективность» теперь показан список номеров задач с давностью залегания (например, «#1234 (12д), #5678 (3д)»). Раньше говорилось только «6 задач без CF10», и приходилось искать их вручную.
  • Из подсказок про висящие задачи убрана формулировка «закройте если неактуально» — теперь предлагается «поставьте срок и выполните». «Стало неактуально» — это упущенное время, и метрика не должна подсказывать обходить просрочку через закрытие.
Что нового в релизе от 21.05.2026 22:31
  • В задачах трекера «Поддержка» обычный комментарий без смены статуса и исполнителя больше не блокируется ошибкой «Реассайн исполнителя без смены статуса не предусмотрен». Раньше проверка маршрутов ошибочно срабатывала, потому что форма всегда отправляет текущие значения статуса и исполнителя — даже когда пользователь их не трогал.
Что нового в релизе от 21.05.2026 22:28
  • В пикере «📅 Назначить время» плашки чужих задач на сетке стали кликабельными. Левый клик закрывает пикер и открывает карточку задачи (удобно быстро посмотреть, чем занят сосед в нужном слоте). Правый клик открывает задачу в новой вкладке — пикер при этом остаётся открыт и выбранное время не теряется.
Что нового в релизе от 21.05.2026 22:16
  • Регулярные задачи больше не «прилипают» к заместителю. Раньше, если исходный исполнитель один раз ушёл в отпуск или отгул и задача автоматически уехала на замену, следующие подзадачи продолжали назначаться на замену даже после возвращения сотрудника. Теперь каждая новая подзадача начинается с настоящего исполнителя регулярки (того, кто указан у глобальной задачи), а эскалация по отпуску проверяется заново на конкретную дату.
  • Регулярные задачи больше не задваиваются, если параллельно запущены две копии менеджера (например, локальная разработка и прод на одной Redmine). Раньше совпадение фоновых проверок раз в 10 минут создавало две одинаковые подзадачи. Теперь обе копии видят общий замок и одна тихо пропускает создание.
Что нового в релизе от 21.05.2026 20:18
  • Раздел «📊 Метрики» переделан: основной режим — «По релизам», каждая точка на графике соответствует одному релизу ФармЭксперта. Сравнение «сборка A vs сборка B» теперь делается напрямую по соседним точкам, без поиска нужной даты по календарю.
  • Снято ограничение «релиз только при ≥ 5 СУ». Раскатка идёт поштучно — даже одиночные клиенты на новой сборке теперь видны на графике как точка. Это критично, чтобы сразу замечать регрессию hotfix-сборок до массовой раскатки.
  • Сохранён старый режим «По дням» — переключатель в шапке раздела. Полезен, когда нужно отследить просадку от внешних факторов (выходные, обвал связи в регионе), а не от релиза.
  • Подсказка «?» рядом с вкладкой «Метрики» обновлена: отдельные блоки про каждый режим, обновлённые шаблоны выводов, отдельный пункт о том, как читать релизы с малым числом СУ.
Что нового в релизе от 21.05.2026 17:39
  • В разделе «🏷 Релизы» появилась вкладка «📊 Метрики» — графики производительности ФармЭксперта по 5 ключевым операциям: обновление каталога, загрузка полного каталога, приём денег в кассе, открытие журнала накладных и старт программы. На каждом графике видно среднее по парку за день и пороги «норма» (зелёный пунктир) и «тревога» (красный). Сразу понятно, держится ли операция в рамках нормы или просела.
  • На графиках вертикальными пунктирами отмечены даты сборок ФармЭксперта — видно, какой релиз ушёл в парк в этот день и сколько СУ его получили. Сопоставление «после релиза X скорость операции просела» теперь делается глазами за секунду.
  • Справа на каждой карточке показано текущее значение операции (среднее за 7 дней) и изменение к предыдущей неделе — рост или спад с цветовой подсветкой. Сразу видна динамика, не нужно сравнивать графики глазами.
  • Под графиками — свёрнутый блок «🐌 Проблемные СУ» с топ-10 рабочих мест по каждой операции, у которых средние значения в 3+ раза выше нормы по парку. Помогает быстро находить медленные аптеки и точечно разбираться с ними.
  • Период наблюдения переключается одним кликом: 4 / 8 / 12 / 26 недель. Можно посмотреть, как метрика менялась за квартал или сосредоточиться на последнем месяце.
Что нового в релизе от 21.05.2026 17:33
  • «Время к выполнению», выставленное служебной учёткой («ФЭ Робот» и подобные автоматы), теперь может править любой оператор — больше не нужно искать «того, кто назначил», когда дату ставил бот. На задачах, где срок назначил живой коллега, ограничение работает как раньше.
  • Снят запрет на перенос «Даты для выполнения», у которой текущее значение уже сегодня или в прошлом. Просроченную дату теперь можно сдвинуть — раньше это превращалось в тупик, особенно для дат, проставленных автоматами в прошлое. Остальные правила переноса (рабочий день, размер шага, обязательная причина со 2-го переноса) продолжают действовать.
Что нового в релизе от 21.05.2026 13:20
  • В модалке «🎯 Моя эффективность» добавлен блок «💡 Как повысить» — персональные подсказки на основе текущей ситуации: какие задачи с прошедшим CF10 сегодня тянут балл вниз (со ссылками), какой ближайший срок впереди, сколько задач залегает в инбоксе этого месяца, есть ли смысл взять сверхплан. Не нужно гадать, что именно сейчас портит процент.
  • В той же модалке появился блок «📈 Журнал изменений» с графиком процента за сутки или неделю и списком значимых скачков. Для каждого скачка показано, какая компонента изменилась (база, инбокс, переносы) и какое событие это вызвало: закрылась задача в срок / с просрочкой, прошёл CF10 у незакрытой задачи, перенесли срок, задача ушла в инбокс — с прямыми ссылками. Видно, почему процент скакнул на 10–15% за несколько часов.
  • Журнал процента эффективности обновляется автоматически в фоне примерно раз в полчаса. История хранится 30 дней.
Что нового в релизе от 21.05.2026 01:35
  • Виджет «🎯 Чем заниматься сейчас» больше не вытаскивает глобальную задачу в основной слот, если у неё нет открытых подзадач или подзадачи зависли — это блокировало выбор реальной работы. Сигнал о косяках по глобальным остаётся в отдельной плашке «🌀 Разгребай глобальные» (зажигается с порога 1.0 балла и выше), бейдж кликабельно открывает блок «Управление глобальными» в модалке эффективности.
  • Нейронка в карточке задачи и в раскатке релизов перестала «творчески» расшифровывать тему тикета, если в описании нет деталей реализации. Теперь при пустом/коротком описании поля «Тема для пользователя» и «📥 Сообщение клиенту» заполняются нейтральной заглушкой «Реализована доработка по обращению клиента» / «уточнение функционала» — вместо выдуманных подробностей.
  • Нумерованные и маркированные списки внутри комментариев Redmine (в журнале задачи) теперь рендерятся с отступом и маркерами, а не слипаются в сплошной текст.
Что нового в релизе от 21.05.2026 01:27
  • В документации проекта (CLAUDE.md, README, комментарии в .env, заголовки ключевых модулей) добавлены расшифровки исторических имён, которые путают: «CRM-БД» — это БД самого Redmine Manager'а, а не CRM компании; CRM компании — это «InfoAS slave» (в коде встречается под префиксом «i9ru», но это не сервер i9); «InfoAS_FX_data» — это MySQL-сторона InfoAS master, а «rm.infoas.biz» — HTTP-сторона того же мастера. Старые имена не тронуты, рядом стоят пояснения.
Что нового в релизе от 21.05.2026 01:15
  • Карта интеграций в вики проекта «для админа»: уточнены названия систем — «MySQL infoas_crm (БД Redmine Manager'а)» вместо ошибочного «CRM-БД» (CRM — это InfoAS slave), «InfoAS master — MySQL» и «InfoAS master — API раскатки» вместо разных терминов про один и тот же сервер. Понятнее, куда что ходит.
  • На карте интеграций добавлен прометный блок-предупреждение «АВТОГЕНЕРИРУЕТСЯ» в шапку страницы — чтобы коллеги не пытались править описания прямо в вики (правки стираются при следующем обновлении). Свободные заметки — только в нижнем блоке «Заметки админа».
  • Карта интеграций больше не плодит ежедневные пустые ревизии в вики: страница перезаписывается только когда реально что-то поменялось в манифесте или у ответственных, а не каждый раз из-за свежей строки «Последняя синхронизация».
  • Для интеграции «FTP — База знаний» в карте честно зафиксировано: регламент обновления самого файла на источнике пока не задан, автопроверка свежести отсутствует. Заведена задача на это.
Что нового в релизе от 21.05.2026 00:43
  • В вики проекта «для админа» появилась страница «Интеграции и взаимодействие систем» — карта всех внешних систем, с которыми работает Redmine Manager (Redmine, amoCRM, базы InfoAS, Matrix, VPN, телефония, Google Calendar, локальный AI и др.). Для каждой интеграции — назначение, что сломается при недоступности, ответственный. Страница пересобирается автоматически раз в сутки, ручные заметки администратора сохраняются между обновлениями.
Что нового в релизе от 20.05.2026 02:41
  • В блоке «Управление глобальными» применён тот же прогрессивный фильтр, что и для инбокса: считаются только косяки, появившиеся в выбранном периоде. Старые задачи (открытые годами, без подзадач, или с давно-просроченными чужими подзадачами) собираются отдельной плашкой «⏳ Старый бэклог: N задач с M балла». Бейдж «🌀 РАЗГРЕБАЙ ГЛОБАЛЬНЫЕ» в виджете больше не зажигается от пятилетнего долга — только от свежих косяков этого месяца.
  • В разделе «🎯 Эффективность отдела» управляющему партнёру и руководителям без department_id раздел теперь по умолчанию открывается на «Вся компания» (раньше показывал «0 сотрудников»). Кнопка «Вся компания» появляется по факту прав, а не угадывается. У обычного сотрудника без отдела теперь видна подсказка «не задан отдел в карточке сотрудника».
Что нового в релизе от 20.05.2026 02:17
  • В шапке плашка «🎯 N%» — процент эффективности за текущий месяц. Клик открывает модалку с разбивкой: своевременность закрытий по CF10, коэффициент переносов CF10, штраф за «инбокс залегает», бонус за сверхплан. У каждого компонента — тултип-формула. Динамика по месяцам в виде графика и переключатель «Месяц / Квартал / Год».
  • Над колонкой «Входящие» — баннер «Снижение эффективности: −N% (M задач этого месяца, +K в бэклоге)». Месячный показатель ломают только свежие задачи; задачи, висящие без CF10 с прошлых месяцев, учитываются в квартальном и годовом счёте. Идея — разгребайте текущий месяц, не утопая в накопившемся бэклоге.
  • Виджет «🎯 Чем заниматься сейчас» получил состояние «🌀 РАЗГРЕБАЙ ГЛОБАЛЬНЫЕ». Появляется, когда у вас накопились косяки по глобальным задачам: подзадачи без исполнителя, ваши без CF10 или просроченные, чужие просрочки на которые завязана глобальная. Внутри виджета — кнопка «⏸ Знаю, не могу»: прячет напоминание до следующего целого порога. Балл при этом не сбрасывается, его снимает только реальное разгребание.
  • Новый пункт меню «🎯 Эффективность отдела». Сводная таблица сотрудников вашего отдела: процент, база, переносы, инбокс, сверхплан — с сортировкой по любой колонке и переключателем периодов. Руководители отделов и управляющий партнёр видят кнопку «Вся компания» — те же показатели по всем активным сотрудникам с разбивкой по отделам.
Что нового в релизе от 19.05.2026 16:51
  • При первичном назначении исполнителя на задачу комментарий больше не требуется. Поле «Комментарий» остаётся обязательным только при переназначении — когда задача передаётся от одного сотрудника другому.
  • В форме создания задачи попап выбора наблюдателей больше не обрезается и не уходит за край экрана.
Что нового в релизе от 19.05.2026 01:46
  • При одновременной смене трекера и статуса задачи изменения больше не теряются молча. Если выбранный статус недоступен в новом трекере — список статусов обновляется и появляется подсказка выбрать другой; остальные изменения при этом уже применены.
  • В тулбаре комментария появилась кнопка «пометка нейросети». Добавляет стандартную курсивную пометку «подготовлено нейросетью по поручению…» согласно регламенту использования нейронки.
  • Вкладка «Репозиторий» в задаче корректно работает при наличии сразу двух репозиториев (git и hg): ссылки на ревизии ведут в тот репозиторий, где ревизия реально находится.
  • Закрытые тикеты «Важная» и «Критично» в «Релизах» больше не красят сборки, выпущенные после даты закрытия. Подсветка прекращается в момент закрытия задачи.
  • Исторические отпуска (автозакрытые после окончания периода) снова видны водяными знаками на прошлых спринтах и в истории календаря.
  • После привязки файлов сборки к релизу плашки «битность не подходит» в модалке волны раскатки убираются сразу — не нужно закрывать и переоткрывать диалог.
  • Кнопка «скопировать ссылку на задачу» теперь копирует ссылку в Redmine Manager, без накопившихся фильтров текущей сессии.
  • Блок «Обязательные файлы» в модалке задачи красный только когда файлы действительно нужны (перевод в «Тестирование»). В остальных случаях — нейтральный.
Что нового в релизе от 18.05.2026 00:42
  • После фиксации спринта задачам трекеров «Ошибка» и «Улучшение», у которых не была заполнена дата выполнения и трудоёмкость, эти поля проставляются автоматически из раскладки спринт-доски. Раньше такая задача без даты считалась «зависшей» и подсвечивала родительскую задачу красным — теперь индикатор гаснет сам. Вручную заданные дату и оценку фиксация не трогает.
  • На карте «Маршруты задач» завершающий статус снова отображается на своём месте. Из-за расхождения в названии статуса его узел выпадал из схемы и уезжал вниз.
  • Имена файлов в истории изменений задачи стали кликабельными: картинка открывается в превью, остальные файлы — в новой вкладке. Не нужно прокручивать к блоку «Приложенные файлы».
  • Раздел «Маршруты задач» стал компактнее: карта переходов и панель с подсказками теперь расположены рядом, а маппинг ролей свёрнут в раскрывающийся блок — меньше прокрутки.
  • Поле «Начало работы в компании» переехало из карточки сотрудника в редактор финраздела «Сотрудники» — данные о найме, окладе и стаже теперь редактируются в одном месте.
  • В карточке задачи описание и комментарий получили лёгкую цветную подложку и более заметные подписи — их проще отличить от обычных полей формы.
Что нового в релизе от 15.05.2026 13:13
  • При создании отпуска и при его согласовании появляется предупреждение, если суммарный оплачиваемый отпуск сотрудника за календарный год превышает 28 дней — помогает не выйти за норму. Превышение не блокируется: продолжить можно по подтверждению.
  • Отпуск, который начинается в декабре и заканчивается в январе, при проверке лимита засчитывается в оба года по фактическим дням — норма по каждому году считается отдельно и корректно.
  • Смена проекта или трекера в карточке задачи теперь применяется только при нажатии «Сохранить», а не сразу при выборе. Можно передумать и вернуть прежнее значение, ничего не сохранив; поля карточки при этом сразу подстраиваются под выбранный проект и трекер.
Что нового в релизе от 15.05.2026 00:32
  • В шапке карточки задачи селекторы «Проект» и «Трекер» больше не «зависают» после первой успешной смены. Раньше повторно открыть выпадашку не получалось — клик молча игнорировался, и приходилось перезагружать страницу. Теперь переключать проект/трекер можно подряд сколько угодно раз.
  • В карточке сотрудника поле «Начало работы в компании» удобнее заполняется: текстовое поле с маской «мм.гггг» и кнопка 📅, открывающая визуальный выбор года и месяца (◀/▶ по годам + сетка из 12 месяцев). Раньше в части браузеров поле либо открывалось в американском формате, либо вообще не давало picker — приходилось набирать руками.
Что нового в релизе от 14.05.2026 14:26
  • При согласовании отпуска система проверяет, остаётся ли хоть один коллега по каждой теме экспертизы заявителя — с учётом уже оформленных отпусков, больничных и командировок, без разницы между уровнями «эксперт» и «помощник». Если по какой-то теме не остаётся никого, открывается диалог с перечнем тем и дат «нет покрытия» и кнопкой «Согласовать всё равно». Жёсткой блокировки нет — только переспрос, чтобы согласующий увидел риск до нажатия «Согласовать»; решение пишется в журнал предупреждений для аудита.
  • Если даты уже-согласованного отпуска сдвинули, или другой эксперт оформил свой отпуск на пересекающийся интервал — в журнале предупреждений автоматически появляется запись «по таким-то темам не остаётся никого». Снимается сама, когда покрытие восстановилось. Дыры, которые возникают незаметно после согласования, теперь видны без ручных сверок календарей.
Что нового в релизе от 14.05.2026 00:06
  • Запущен KB-Updater: после закрытия каждого спринта автоматически создаются задачи на технического писателя в проекте «База знаний» — по одной на каждый реализованный за неделю тикет. К задаче приложен ZIP-пакет для нейронки (полные файлы кода, склеенная база знаний, методология, текст исходного тикета и его вложения). Инструкции по новым фичам перестают забываться: пишет их по-прежнему человек, но сам факт «нужно описать» больше не теряется.
  • В карточке сотрудника роли вынесены в отдельную строку «Должности» с тремя галками: «QA», «Технический писатель», «Разработчик». Можно ставить несколько одновременно. «Технический писатель» определяет, кому KB-Updater создаёт задачи на актуализацию инструкций — если их несколько, распределение идёт round-robin по нагрузке.
  • В «🏷 Релизы» рядом с каждым тикетом состава появилась плашка «📝 ТП #N» — показывает, создана ли по этому тикету задача на актуализацию Базы знаний и в каком она статусе (открыта / закрыта / упала). Клик открывает ТП-задачу в карточке. В шапке состава релиза — счётчик «📝 ТП-задач: N из M».
  • В «Настройки → Контроль интеграций» появилась карточка «KB-Updater» с кнопкой «▶ Запустить сейчас» — на случай, когда нужно получить ТП-задачи сразу после закрытия спринта, не дожидаясь следующего автоматического запуска.
  • В диалоге «Управление экспертизой» (карточка сотрудника) у каждой темы появилась кнопка 🗑 — удаление темы из справочника. Параллельно значение убирается из Redmine CF/11. Защита: пока на теме есть назначенные эксперты, кнопка заблокирована с подсказкой «сначала снимите все привязки».
  • В списке «Связанные задачи» (карточка задачи) колонки тип связи / проект / исполнитель / срок / статус теперь стоят друг под другом, даже если в одной строке какого-то поля нет. Раньше они «съезжали» и список было трудно читать.
  • При удалении связи, смене трекера или смене проекта несохранённые правки в карточке задачи больше не теряются. Раньше любая из этих операций обнуляла набранный комментарий, выбранного исполнителя, новый статус, изменения описания и значения кастомных полей — приходилось набирать заново. Теперь правки сохраняются, если новый контекст их допускает.
  • Восстановлена работа AI-блоков в клиентских сообщениях: «Тема для пользователя» (CF3) и абзац-описание в сообщении в программу учёта снова доезжают до клиента. Модель уходила в петлю «рассуждений» и отдавала пустой ответ — внешне выглядело как «AI отключился», на деле клиент получал автозадачу без человеко-понятного резюме. Теперь стабильно.
  • CF6 «Пользователи» больше не теряется в массовых запросах состава релиза. Раньше для некоторых тикетов список пользователей приходил в виде «8277,14795» вместо массива — таких клиентов парсер пропускал, и они не попадали ни в кандидаты волны раскатки, ни в детектор блокировок.
  • После удаления темы экспертизы (CF/11) больше не создаются дубликаты тикета ответственному каждые 10 минут. Раньше проверка целостности справочника считала мягко удалённые темы за расхождение с Redmine и эскалировала это каждый цикл.
Что нового в релизе от 13.05.2026 16:11
  • «Результат раскатки» теперь редактируется прямо в карточке задачи трекера «Поддержка». Для автозадач волны раскатки (тема «[СВЯЗАТЬСЯ] …») поле помечено звёздочкой и обязательно перед закрытием — попытка закрыть без него блокируется с явным сообщением. Раньше задачу можно было закрыть пустой, после чего она автоматически возвращалась в работу через несколько минут — было непонятно, почему «закрытая» задача снова открыта.
  • В карточке задачи переставлен порядок блоков: «Дополнительные поля» (CF19/21/20, регулярность, сводка) теперь идут сразу после описания, а «Связанные задачи» — после них. Длинный список связанных тикетов больше не отодвигает дополнительные поля вниз — до них не нужно скроллить.
Что нового в релизе от 13.05.2026 01:58
  • «+Сверх плана» в спринт-аналитике теперь правильно атрибутирует заслугу: +1 идёт разработчику, который перевёл задачу в выполненный статус, а не текущему ответственному. Если разработчик передал задачу тестеру, а тестер закрыл — +1 получает разработчик.
  • «+Сверх плана» отсекает закрытия «одним кликом»: если сотрудник закрыл чужой тикет, не будучи на нём ответственным (например, менеджер прошёлся по мусорным тикетам), +1 ему не присуждается.
  • Статус «Тестирование в работе» теперь считается как сданная разработческая часть наравне с «Тестирование» и «Демонстрация» — задачи в нём идут в «Готово», а не в «В работе».
  • «Скорость отклика» считается в рабочих часах (09-18 МСК, выходные и праздники по производственному календарю). Вечерний пинг + утренний ответ больше не выглядит как 12 часов реагирования.
  • «Скорость отклика» теперь покрывает все задачи разработчика, включая поддержку и разовые тикеты. Раньше учитывались только задачи из плана спринта — оперативные пинги выпадали из метрики.
  • В «Хвостовых задачах» (≥3 спринта) появляется отметка «✓ Закрыта в Redmine», если задачу закрыли в Redmine без повторного попадания в спринт. Не вводит в заблуждение stale-итог вроде «Перенесена» по уже закрытой задаче.
  • В спринт-аналитике появилась кнопка «📥 Экспорт задач (CSV)» — выгрузка задач по сотрудникам с категориями (Готово / Кочуют / Отменена / В работе / +Сверх плана) для сверки с Redmine.
  • Рядом с «🔁 Пересобрать сверх плана» добавлена «🧹 С очисткой» — полная переборка с удалением старых записей. Нужна, когда меняется состав разработчиков, участвующих в спринтах, или логика подсчёта.
  • В тикетах проекта «Отпуска и отгулы» обе даты (Начало и Срок) теперь обязательны. Раньше без одной из них синхронизация молча скипала тикет — отпуск не попадал в график, замена не назначалась. Форма создания подсвечивает незаполненное поле красным, сервер отбивает сохранение без обеих дат.
  • Новая карточка «🤖 Matrix-бот (отправка ЛС)» в «Настройки → Контроль интеграций» — отдельный канал для отправки личных сообщений от системы под учёткой бота. Health-check узнаёт об отзыве токена до первой неудачной отправки; внутри карточки — тестовая форма с выпадашкой привязанных получателей.
  • Расширено всплывающее объяснение «Замена на отпуск» в карточке сотрудника — добавлены условия, при которых подмена не сработает (назначили её уже после согласования отпуска, идентичные графики у обеих сторон) и как догнать пропущенное.
Что нового в релизе от 12.05.2026 15:55
  • Добавлен финансовый блок.
  • Спринт-доска: «хвост» многодневной задачи, который не помещался в текущую неделю (например, пятница + 10ч), теперь корректно ставится в следующий спринт. Раньше эти часы уезжали на понедельник, но числились в текущей неделе — и пропадали из обоих видов планирования. Уже потерянные ранее записи восстановлены при старте.
  • При добавлении в спринт задачи, которая по часам не помещается в текущую неделю, появляется явное сообщение «Xч не влезли — поставлены в следующий спринт». Раньше часть часов молча оказывалась за пределами недели — было неочевидно.
Что нового в релизе от 11.05.2026 00:42
  • Появился раздел «🗺 Маршруты задач» — карта движения задач по статусам для трекера «Поддержка» с подсветкой «глазами роли». Видно, кто из какого статуса может переводить задачу, кому может её назначить и какие условия должны выполняться (обязательный комментарий, связь «дублирует»). В этом же разделе сопоставляются имена ролей Redmine с пятью внутренними ролями менеджера (Менеджер / Разработчик / Техподдержка / Представитель / Стажёр).
  • В разделе «Маршруты задач» есть тумблер «Строгий режим» — включает проверку правил перехода при сохранении задачи в карточке. По умолчанию ВЫКЛЮЧЕН: правила сначала надо обкатать на матрице, потом включать. До этого момента карта работает в режиме справочника — никого не блокирует.
  • В карточке задачи (трекер «Поддержка») появился сворачиваемый виджет «Маршрут задачи» — мини-карта с текущим статусом и доступными переходами для текущего пользователя. До смены статуса видно, что разрешено, что нет, и какое правило сработает.
  • В «Настройки → Контроль интеграций» появилась карточка «SIP-учётки (Asterisk)» — автоматическая сверка extension'ов сервера телефонии с инвентарём «🔒 SIP-доступы» сотрудников. Непривязанные extension'ы и активные у уволенных сотрудников видны в «Настройки → Доступы», при сбое доступа к ARI ответственному прилетает автотикет.
  • В карточке сотрудника появилась секция «🔒 SIP-доступы» — добавить/изменить/удалить extension вручную, как уже работает для VPN, Matrix и других систем.
  • В «Настройки → Доступы» добавлен фильтр «С отозванными доступами (у активных)» — показывает действующих сотрудников, у которых учётку в внешней системе уже отключили (например, сменился отдел или ноут). Тикет на ответственного отсюда не поднимаем — это видимая, но не алярменная ситуация — но раньше эти строки приходилось искать поштучным перелистыванием, теперь одной кнопкой.
  • В карточках интеграций («Контроль интеграций») рядом со счётчиком сбоев появился счётчик «отозвано у активных» — клик ведёт в «Доступы» с уже выставленным фильтром.
  • Ссылки на задачи в истории изменений (журнал: связи, родитель, фиксированная версия) теперь открываются в новой вкладке по Ctrl+Click и средней кнопке мыши. Раньше работало только на чипах #ID в списках задач и на самой карточке.
  • Чипы задач в календаре графиков тоже поддерживают открытие в новой вкладке (Ctrl+Click / средняя кнопка) — удобно для одновременного просмотра нескольких задач сотрудника на неделе.
Что нового в релизе от 08.05.2026 18:20
  • В описаниях задач теперь корректно рендерятся таблицы из синтаксиса |ячейка|ячейка|: показываются как настоящая таблица с границами и зеброй. Раньше такие блоки выводились «как есть» строками с палочками — длинные сравнительные таблицы в ТЗ нельзя было нормально читать.
  • Если закрыть вкладку браузера или обновить страницу при открытой задаче с несохранёнными изменениями, браузер запросит подтверждение. Раньше можно было случайно потерять только что написанный комментарий или начатую правку полей.
  • В «Настройки → Контроль интеграций» появилась карточка «🔒 VPN-панель (3X-UI)» — автоматическая сверка клиентов корпоративного VPN с инвентарём «🔒 VPN-доступы» сотрудников. Непривязанные клиенты и активные клиенты у уволенных сотрудников видны в «Настройки → Доступы», при сбое доступа к панели ответственному прилетает автотикет.
Что нового в релизе от 08.05.2026 15:14
  • Задачи теперь можно открывать в новой вкладке: правый клик по чипу #ID → «Открыть в новой вкладке», или Ctrl+Click / средняя кнопка мыши. Работает и на чипе номера, и на самой карточке задачи в любом списке — не нужно целиться в маленький #ID.
  • При открытой задаче в адресной строке появляется ?issue=NNN — можно скопировать ссылку и отправить коллеге. Коллега, открыв ссылку, попадает сразу в модалку задачи.
  • Заголовок вкладки браузера показывает номер и тему открытой задачи (#NNN тема — Redmine Manager). При десятке открытых вкладок видно, что в каждой, не переключаясь.
  • Если зайти на менеджер по прямой ссылке на задачу, модалка появляется сразу — не нужно ждать прогрузку всего списка задач (он подтягивается в фоне за модалкой).
  • В описании задачи теперь поддерживается подчёркивание через +текст+ — дополняет уже работавшие *жирный*, _курсив_, -зачёркнутый-.
  • В описании задачи внутри модалки убрана внутренняя прокрутка с ограничением 550px. Длинные ТЗ читаются естественной прокруткой страницы — не нужно крутить колесо в маленьком окошке внутри модалки.
Что нового в релизе от 08.05.2026 01:30
  • В таблице волн раскатки появилась колонка «Обновлено» (N/M) — сколько клиентов волны фактически перешли на эту оперативную версию (по версии программы клиента в Базе InfoAS). Видно одним взглядом: волну надо ещё «дотянуть» или раскатка завершена. Если Базы InfoAS не доступна (нет VPN), вместо чисел показывается «?/N».
  • ID пользователей InfoAS в составе волны раскатки и в плашках карточки задачи стали кликабельными — клик открывает карточку пользователя в админке InfoAS в новой вкладке. Не нужно вручную копировать ID и идти искать его.
  • В архив «📥 Пакет для Claude» теперь кладутся вложения задачи (скриншоты UI, ТЗ в PDF, примеры файлов экспорта) — Claude учитывает их при написании инструкции. Содержимое текстовых файлов сразу видно в индексе — Claude не нужно открывать каждый файл отдельно.
  • Рядом с кнопкой «📥 Пакет для Claude» появился «?» — открывает подробный диалог: что внутри архива, готовая команда для отправки в чат с Claude, и список «поворотов», если ответ Claude вышел слабый (скопировал стиль старой статьи / выдумал название кнопки / пропустил отчёт по базе знаний).
  • Промпт «Как это работает» переписан: Claude теперь сначала отвечает на вопрос «есть ли уже статья на эту тему?» (ДОПОЛНИТЬ существующую / СОЗДАТЬ НОВУЮ / нет аналога) и только потом пишет текст инструкции. Если названия кнопки или поля нет ни в задаче, ни во вложениях, ни в diff'е — Claude задаёт уточняющий вопрос вместо того, чтобы выдумать правдоподобное название.
  • Кнопка «📥 Пакет для Claude» теперь видна только в проектах учётных продуктов (inventory_2_0, cp). В остальных проектах не отображается — инструкции «Как это работает» нужны только для учётки.
  • Создание волны раскатки больше не падает при кратком разрыве соединения с MySQL/VPN. Если соединение легло посреди транзакции — операция автоматически повторяется на свежем соединении (до трёх попыток). Раньше в этом случае ПМ видел 500 и был вынужден пересоздавать волну заново.
  • Чтобы перевести улучшение в «Тестирование», теперь нужны два вложения именно с подписями «Как это работает?» и «Как это тестировать?». Раньше требование снималось любыми двумя вложениями — например, два скриншота могли пройти за инструкции, а реальные документы оставались не приложены.
  • Из методологии в архиве убрана дублирующая wiki-страница «Система декомпозиции инструкций» (повторяла «Систему управляемой декомпозиции» с другими формулировками). Теперь Claude получает 3 страницы вместо 4 и не путается между двумя почти одинаковыми регламентами.
  • Виджет «Чем заниматься»: для не-саппорта красная плашка CF14-блокера теперь снова появляется (раньше пропадал весь алярм целиком, включая визуальную часть; играл звук — нет). Кнопка 🔔/🔇 в виджете показывается всем сотрудникам, и обычные предупреждающие сигналы теперь подчиняются её состоянию.
Что нового в релизе от 07.05.2026 15:53
  • В «📥 Пакет для Claude» добавлена отдельная папка с правилами оформления инструкций (4 страницы из knowledgebase: регламент ведения, декомпозиция, уровни абстракции). До этого Claude получал только знания о продукте — но не понимал, как структурировать ответ. Теперь у него под рукой и «о чём писать», и «как».
Что нового в релизе от 07.05.2026 14:27
  • «📥 Пакет для Claude» теперь кладёт в архив локальную базу знаний целиком (ту самую, которую видно в карточке «База знаний» в «Настройки → Контроль интеграций» и которая синхронизируется с FTP). До этого по ошибке выгружались только 4 страницы wiki-регламента — Claude видел методологию написания инструкций, но не сами знания о продукте.
Что нового в релизе от 07.05.2026 12:21
  • В карточке задачи трекера «Улучшение» появилась кнопка «📥 Пакет для Claude». Скачивается архив с промтом-инструкцией для технического писателя, актуальной базой знаний (4 регламентные страницы из wiki Redmine) и текстом самой задачи. Положите архив в чат с Claude — получите готовый файл «Как это работает», который можно приложить к задаче.
  • Кнопка пакета доступна на любом статусе задачи трекера «Улучшение», а не только при переводе в «Тестирование». Можно подготовить инструкцию заранее или заменить уже приложенный файл.
  • Текст промта «Как это работает» переписан в стиле технического писателя Тома Джонсона: правила DokuWiki-разметки, структура списков, без слов «ошибка / сбой / проблема». Править его, как и раньше, можно в «Настройки → AI → Промпты».
Что нового в релизе от 07.05.2026 02:04
  • В «Настройки → Контроль интеграций» появилась карточка «AI · Промпты» — реестр всех промптов модели с поиском и фильтрами. Текст правится прямо в окне; в модалке волны раскатки рядом с «🐞 Проверить AI-тему/описание» теперь есть шестерёнка ⚙, которая открывает редактор промптов именно этого вызова. Следующий AI-вызов сразу использует новую версию — перезагрузка не нужна.
  • AI-сборка «Темы для пользователя» (CF3) и AI-абзаца в html-сообщении клиенту работает стабильнее: на каждое исходное обращение модель прогоняется отдельно, результат кешируется. Повторные и ретрай-волны не прогоняют тех же тикетов заново.
  • В предпросмотре html-сообщения клиенту теперь видна конкретная причина, почему AI-блок не попал в текст: стоп-слово, не разобрался один из исходных тикетов, пустой ответ. Раньше было «либо нейронка не ответила, либо guard сработал» — теперь понятно, что чинить.
  • В «Настройки → Доступы» появилось поле 🔍 — поиск по ID учётки, имени сотрудника, нику в системе и заметке. ID учётки также виден прямо в плашке мелким суффиксом — больше не нужно открывать карточку, чтобы скопировать его.
  • В составе волны раскатки рядом с другими пользователями того же клиента (учёт) теперь видны те же плашки, что и у основных кандидатов: ветка, битность, наличие оперативки, «уже на этой версии», «уже в волне #N», логин. Решать о включении дополнительных пользователей в волну можно одним взглядом.
  • В карточке сотрудника на учётке программы ФармЭксперт появилась метка «обновл. дд.мм.гг» — когда программа клиента в последний раз связывалась с InfoAS. Помогает понять, живой ли логин на самом деле.
  • В тултипе «Когда появляются цифры за неделю» в спринт-доске добавлен отдельный сценарий «План недели не зафиксирован». Раньше пользователь видел нули во всех колонках и не понимал, что для появления «В работе» и «План ч» нужно сначала нажать «🔒 Зафиксировать спринт».
  • Устранён источник дублирования регулярных задач: при таймауте или временной 5xx-ошибке от Redmine на POST/PUT приложение больше не повторяет запрос автоматически. Раньше при кратком сбое сети создавалась пара одинаковых задач (06.05.2026 — #80787 и #80788 в одну секунду).
  • Если у того же клиента в более поздней волне раскатки того же билда автозадача уже создана, в исходной волне кнопка retry больше не предлагается — видна ссылка «уже в волне #N». Раньше можно было получить две одинаковые автозадачи по одному клиенту.
  • Устранено расхождение «логин ФармЭксперт виден в «Доступах», а в форме карточки сотрудника поле пустое». Теперь привязка из «Доступов» автоматически считается основным логином сотрудника, и форма карточки её показывает.
  • Свёрнут автотикет «отзовите устаревший логин ФармЭксперт». Ложных срабатываний оказалось больше, чем ценных (удержание логина за сотрудником ≠ его регулярное использование). Метка «обновл. дд.мм.гг» в карточке сотрудника остаётся как информация для ручной оценки.
Что нового в релизе от 06.05.2026 00:46
  • В «Контроль интеграций» добавлена карточка «Учётки Claude.ai Team»: владелец заливает CSV-выгрузку из claude.ai/admin, и система начинает видеть расхождения с сотрудниками (утечки и непривязанные учётки) в матрице доступов. Если выгрузку не обновлять > 30 дней — придёт автотикет «обнови CSV».
  • В «Контроль интеграций» добавлена карточка «Anthropic Console» (API-платформа). Каждые 10 минут проверяется доступность API-ключа — если ключ отозвали или сервис лёг, ответственный получит автотикет до того, как сломается реальная AI-фича.
  • Список «Часто используемые проекты» в форме создания задачи теперь общий для всех браузеров и устройств одного пользователя. Раньше каждый браузер вёл свой локальный список и они расходились.
  • В форме создания задачи Tab из поля «Название» переводит фокус в «Описание» — удобнее заполнять последовательно.
  • Чипы пользователей CF6 в карточке задачи стали крупнее (шрифт, отступы, плашки статусов) — раньше текст был слишком мелким.
  • Плашка часового пояса клиента подсвечивается розовым, если у него сейчас нерабочее время (18:00–08:59). Оператор сразу видит, что звонить не стоит.
  • Backspace при открытом превью картинки закрывает превью. Раньше браузер уходил «назад» из всего РМ-менеджера, и пользователь терял место в списке задач.
  • Подзадачи без стандартного срока, но с заполненным полем «Дата для выполнения», больше не считаются «без даты». Просрочка и пометки на карточке родителя теперь корректные.
  • Кратковременные обрывы канала до базы пользователей ФармЭксперт автоматически повторяются (3 попытки). Больше не приходит ложный тикет «БД недоступна» из-за одного дрожащего пакета VPN.
Что нового в релизе от 05.05.2026 18:13
  • При закрытии задачи через диалог «Сводка» текст уже введённого комментария подставляется в поле сводки как заготовка — можно подтвердить или поправить. Сам комментарий при этом остаётся в журнале как отдельная запись, как и раньше.
  • Заблокированные (locked) учётки внутреннего мессенджера Matrix теперь считаются отключёнными — для сотрудников с такой привязкой появляется предупреждение «доступ деактивирован», как для уволенных. Раньше locked-учётки проскакивали мимо контроля доступов.
  • В выпадашке выбора Matrix-учётки в карточке сотрудника заблокированные пользователи помечены префиксом «Заблокирован — ». Видно сразу — можно случайно не выбрать неактивного.
  • При смене или удалении владельца Matrix-учётки в разделе «Доступы» матрикс-контакт в карточке сотрудника обновляется автоматически. Раньше приходилось править в двух местах.
  • В карточках сотрудников теперь видны matrix-контакты, привязанные ранее через «Доступы». До этого карточка показывала только привязки, внесённые вручную через раздел «Контакты».
Что нового в релизе от 05.05.2026 16:45
  • Во вкладке «Репозиторий» модалки задачи появилась кнопка «📦 Архив исходников» — скачивает zip со всеми ревизиями тикета: полный diff, исходники изменённых файлов и per-file diff по каждому. Удобно скармливать нейронке для подготовки инструкции в базу знаний. Папки в архиве пронумерованы в хронологическом порядке (01 — первый коммит, последний — самый новый).
  • В заголовке вкладки «Репозиторий» появился значок «?» — в подсказке расписано, у кого есть доступ к исходникам и diff'ам, у кого нет, и как получить доступ.
  • Во вкладке «Репозиторий» под каждой ревизией теперь виден список изменённых файлов с кнопками «📄 файл» / «± diff». Раньше список оставался пустым из-за того, что приложение не могло авторизоваться в репозитарии Redmine.
  • Цитата сообщения журнала по кнопке «📋 Цитата» теперь вставляется НАД уже набранным черновиком, а не под ним — удобнее, когда сначала пишешь свой ответ, а потом решаешь процитировать чей-то комментарий.
Что нового в релизе от 05.05.2026 14:12
  • Рядом с полями дат «Начало / Срок» и кастомными полями-датами появилась иконка 📅 — дату можно выбрать мышью в календаре. Ввод руками в формате «дд.мм.гггг» по-прежнему работает; формат отображения не меняется.
  • При копировании задачи поле «Срок» больше не подтягивает дату исходной задачи — оно пустое. Раньше в копию переносился срок оригинала, который к моменту копии уже был просрочен.
  • Кастомные поля-даты при копировании задачи тоже сбрасываются — раньше копировались из оригинала и обычно не имели смысла для новой задачи.
Что нового в релизе от 04.05.2026 00:44
  • Карточка вложения теперь занимает одну строку: иконка, имя файла, описание, размер, автор и дата, кнопка удаления. Длинные имя и описание обрезаются троеточием — полный текст показывается во всплывающей подсказке. Раньше описание шло отдельной строкой ниже и удлиняло список.
  • Поля дат «Начало / Срок» и пользовательские поля-даты в окне «Создать задачу» вводятся в формате «дд.мм.гггг» вручную. Раньше использовался браузерный календарь — у пользователей с английской локалью он показывал «mm/dd/yyyy», что путало.
  • При смене назначенного без комментария поле комментария теперь подсвечивается красным, как и было задумано. До этого подсветка не появлялась — оставалась только подсказка-тост.
  • После сохранения задачи виджет «Чем заниматься» больше не вытаскивает наверх задачи, заблокированные другими открытыми задачами. Раньше после правки/сохранения признак блокировки сбрасывался и такая задача ошибочно появлялась в очереди работы.
Что нового в релизе от 03.05.2026 21:40
  • Шапка модалки задачи стала двухрядной: в первом ряду — селекторы Проекта и Трекера, мета «Добавил/Обновлено» и кнопки «← Назад / ↑ Родитель / ✕»; во втором — заголовок задачи с плашкой статуса. Раньше всё толкалось в одну линию и зрительно «разъезжалось».
  • Журнал по задаче получил два режима: «📝 Кратко» и «📋 Полно». В кратком виден только диалог по задаче — записи о смене статусов, полей и оценок скрыты. Выбор сохраняется и применяется ко всем задачам.
  • Описание задачи и текст комментариев теперь крупнее (15 px вместо 13 px) и в основном цвете. Раньше главное содержимое тонуло на фоне меты — приходилось всматриваться.
  • Описание и комментарий редактируются с панелью разметки: жирный/курсив/подчёркнутый, маркированный и нумерованный списки, цитата, inline-код и блок кода. У комментария добавлен таб «Предпросмотр» — можно проверить разметку до отправки.
  • «Дополнительные поля» в карточке задачи переехали в аккордеон. По умолчанию свёрнут; раскрывается автоматически, если внутри есть значения. Основная форма стала компактнее, редкие поля не отвлекают.
  • Вложения вместо отдельной кнопки прикрепляются по ссылке «📎 Прикрепить файл». Имеющиеся файлы задачи показаны сразу над списком новых — всё видно одним взглядом.
  • В шапке окна «Создать задачу» вместо статичного заголовка теперь селекторы Проекта и Трекера. Контекст можно сменить, не закрывая форму.
  • В поле «Пользователи» (CF6) рядом с каждым выбранным пользователем виден его часовой пояс. Резолв идёт по региону клиента из Базы InfoAS через open-meteo, найденные регионы кешируются — повторный запрос не делается. Удобно при планировании звонка / обзвона.
  • В «Настройках → Контроль интеграций» появилась карточка «open-meteo (часовой пояс клиента)» — резолв TZ теперь под общим контролем интеграций (включение/отключение, статус).
  • Доска задач больше не показывает дубли. Раньше браузер кешировал первую страницу запроса задач, и при пагинации одна и та же страница накладывалась поверх остальных — список «удваивался» до перезагрузки.
Что нового в релизе от 02.05.2026 16:57
  • Волны раскатки релиза теперь действительно назначают клиентам оперативную сборку — раздел «🏷 Релизы → Волны раскатки» переведён в рабочее состояние. До этой версии волна создавалась в RM, но в InfoAS ничего не уходило.
  • Перед первой волной для сборки нужно привязать 4 номера файлов. Номера берутся из админки InfoAS («Версии Учёт2.0», колонка invFiles.id) и вводятся прямо в модалке «Новая волна раскатки». Кнопка «Создать волну» серая, пока файлы не привязаны. После сохранения файлы запоминаются — все будущие волны того же релиза используют их автоматически, кнопкой «Перепривязать» можно перебить значения, если вышла обновлённая сборка.
  • В списке кандидатов на волну рядом с клиентом видно его ветку в InfoAS и дату последнего входа в программу учёта — сразу понятно, на какой версии клиент сидит и насколько он активен.
  • Если у клиента уже стоит оперативная сборка от прошлой раскатки, в его карточке появляется плашка «уже есть оперативная» с версией и комментарием той волны. Сразу видно, что именно перезапишет новая волна.
  • Клиенты с x32-веткой при x64-сборке отмечены серой галкой и плашкой «битность не подходит» — такой клиент в волну не уйдёт. Раньше он попадал в волну и возвращался с ошибкой битности уже после отправки в InfoAS.
Что нового в релизе от 01.05.2026 17:27
  • Внутренний мессенджер Element Matrix теперь под контролем доступов. В разделе «Настройки → Доступы» появилась система «Matrix» — сразу видно непривязанные аккаунты и активные учётки уволенных сотрудников. Включается админом в «Контроле интеграций» после прописки токена в .env.
  • В карточке сотрудника контакт «Matrix» теперь выбирается из списка реальных пользователей мессенджера (с именем и логином), а не вписывается руками. Это убирает опечатки и обеспечивает 1-в-1 сверку с инвентарём доступов.
  • Если у сотрудника в Matrix-контакте сохранено старое произвольное значение, оно показывается с пометкой «(вне списка)» — при следующем редактировании карточки нужно перевыбрать корректного пользователя или удалить строку.
Что нового в релизе от 01.05.2026 00:37
  • Волна раскатки релиза теперь сама назначает оперативную сборку клиенту через API InfoAS — раньше СТП делал это руками в админке. В модалке «Новая волна» вместо выбора типа автозадачи — две независимые галки: «Создать тикет на саппорт» (с CF32-петлёй обратной связи) и «Отправить сообщение клиенту в программу учёта». Можно включить обе, одну или ни одной — назначение версии выполняется в любом случае.
  • В составе волны у каждого клиента видна плашка статуса назначения версии: ✓ версия назначена / ⊘ пропущено (с причиной) / ✗ ошибка. Если у части клиентов назначение упало с ошибкой — в шапке волны появляется кнопка «Повторить назначение версии», сообщения клиентам при повторе не дублируются.
  • В списке кандидатов на волну сразу видно: «не СУ» (ЗАКАЗ-клиент или не аптека) — чекбокс заблокирован, такие клиенты API всё равно бы отверг; «уже есть оперативная» (амбер-плашка) — у клиента уже назначена оперативная сборка, при наведении видны её детали; имя ветки СУ в InfoAS — для контроля битности.
  • В модалке волны появился раскрывающийся блок «🔒 Файлы сборки» — read-only превью файлов (id, описание, битность, размер), которые InfoAS подберёт под этот релиз. Удобно глазами проверить корректность подбора перед созданием волны.
  • При включённой галке «Отправить сообщение клиенту» в сообщение попадает короткое AI-описание реализованного — что именно появилось в новой версии и какая польза. AI-блок проверяется на стоп-слова («ошибка», «проблема», «баг», «инцидент», «нарушение», «исправление») и при их попадании в сообщение не вставляется. Для отладки промпта рядом с «🐞 Проверить AI-тему» добавлена кнопка «🐞 Проверить AI-описание».
  • В карточке сотрудника поле «Логин в Админке InfoAS» подсвечивается жёлтой плашкой «⚠ не задан — нужен для создания волн раскатки», если оно пустое. Без этого поля сотрудник не сможет создавать волны раскатки версий — теперь это сразу видно при просмотре карточки.
  • В заголовке модалки задачи рядом с кнопкой ✏ появилась иконка копирования ссылки на задачу в Redmine — один клик вместо «выделить адрес → скопировать».
  • В «Моей продуктивности» вместо блока «Лидер прошлого месяца» теперь «Лидеры сегодня» — актуальная дневная сводка ценнее прошломесячной.
  • После переназначения задачи на чужого исполнителя она сразу пропадает с доски и из виджета «Чем заниматься сейчас» (если текущий вид — «мои» / конкретный пользователь / «не назначены»). Раньше задача оставалась видна до ручного обновления страницы.
  • События в Google Calendar с временем (CF10=ДД.ММ.ГГГГ ЧЧ:ММ) теперь корректно конвертируются под часовой пояс зрителя. Раньше задача с CF10=15:00 МСК показывалась как 15:00 в любом TZ — Google трактовал время без явного offset как «плавающее».
Что нового в релизе от 29.04.2026 19:31
  • При попытке перенести «Дату для выполнения» без обоснования сообщение об ошибке стало пошаговым: явно говорит, что новая дата НЕ сохранена и осталась в поле, куда писать комментарий (поле подсвечено оранжевой рамкой и уже получило фокус), сколько символов ещё нужно и какие шаги в каком порядке делать. Отдельно предупреждает, что сохранять комментарий «отдельным заходом» без изменения даты бесполезно — это замкнутый круг.
  • В модалке задачи шапка с темой и вкладки теперь зафиксированы — прокручивается только содержимое. На длинных задачах больше не нужно листать к началу, чтобы переключить вкладку или закрыть окно. Дублирующая кнопка «💾 Сохранить» рядом с «Прикрепить файл» убрана: основная кнопка в подвале модалки всегда на виду.
  • Раздел «📅 Мой Google Calendar» переписан: явно указано, под каким Google-аккаунтом открывать calendar.google.com, что новый календарь появляется в «Мои календари» (не «Другие»), какие права выдавать боту. Появился блок «Как убедиться, что работает» с четырьмя шагами проверки.
  • В инструкции Google Calendar добавлено предупреждение про две частые путаницы: вставить email бота в поле «ID календаря» и настраивать календарь в одном Google-аккаунте, а проверять под другим. Оба сценария раньше приводили к ошибкам 404/403 без понятной подсказки.
  • В журнале изменений задачи имена кастомных полей теперь видны всем, а не только админу — раньше у обычного сотрудника они отображались кодами вида «CF#16». Это касается и полей, которых уже нет на текущем трекере (после переноса задачи между трекерами или проектами).
  • На календаре стабильнее показываются закрытые задачи. Раньше часть из них могла теряться из-за того, что выборка шла по двум разным полям дат и не всегда захватывала нужное окно. Теперь глубина выборки берётся из фильтра «Обновлены за» (по умолчанию 90 дней), и закрытые задачи попадают на календарь по тем же правилам, что и открытые.
Что нового в релизе от 29.04.2026 01:10
  • Появился частичный отгул. В однодневной задаче типа «Отгул» можно указать «Оценку трудоёмкости» в часах — например, уход на 2 часа раньше. День остаётся рабочим, замена на этот день не назначается, в табеле появляется пометка «Nч О», а на календаре, спринт-доске и пикерах дат — водяной знак «Nч ОГ».
  • В табеле производственного календаря появилась колонка «ОГч» — суммарные часы частичных отгулов за месяц. При наведении на строку подсвечивается весь ряд, удобно читать значения в дальних столбцах.
  • Поле «Оценка трудоёмкости» в форме создания и редактирования задачи проекта «Отпуска» теперь видно только при типе «Отгул» — для остальных типов отсутствия (отпуск, больничный, командировка, без содержания) часы не применяются и больше не путают.
  • В «Моей продуктивности» при наведении на любой счётчик закрытых задач появляется список задач, из которых сложилась цифра, со ссылками в Redmine. Работает для всех периодов и для всех разбивок — просрочки, блокеры, входящие, отдано на тест.
  • Виджет «🎯 Чем заниматься сейчас» больше не предлагает задачи, у которых есть открытая связь «Заблокирована». Если все актуальные задачи заблокированы — виджет так и пишет: «разблокируйте или ожидайте», а не показывает случайную задачу.
  • На спринт-доске линия текущего времени больше не пропадает в обеденный час и в нерабочие часы. После 18:00 она «прилипает» к низу колонки текущего дня, до 09:00 — к низу вчерашней. Ровно в 09:00 перепрыгивает на следующий день.
  • В карточке сотрудника появилась плашка «↻ частые переносы CF10 за 30 дней» — те же события и пороги, что и в «Моей продуктивности», но видны руководителю. Цвет растёт от amber к красному.
  • В цепочке переносов «Даты для выполнения» (плашка «↻ перенесена N раз» в карточке) теперь показывается время до минут, а не только дата — видно, был ли перенос «вечером в пятницу» или «в начале недели».
  • При попытке перенести «Дату для выполнения» больше чем на 5 рабочих дней в сообщении теперь дополнительно показывается число календарных дней — сразу понятно, насколько большой шаг отклонён.
  • В разделе «Настройки → Контроль интеграций» карточка подключения к Базе InfoAS теперь read-only — параметры показываются из файла настроек сервера. Раньше форма дублировала те же значения в локальном файле, правки иногда молча терялись. Теперь один источник правды; админ правит через сервер, кнопка «🔬 Диагностика» работает как раньше.
  • Регулярные задачи (♻) больше не дублируются. Раньше при одновременной проверке из двух вкладок или совпадении ручного запуска с фоновой синхронизацией могло создаться 3–4 копии в одну секунду. Теперь по каждой регулярной задаче в один момент идёт ровно одна проверка.
  • Сотрудник, у которого автоматически закрылся отпуск, больше не получает эскалацию задач на замену уже после возвращения. Раньше из-за двойной записи в CRM статус мог зависнуть в «Согласован», и задачи продолжали уходить на замену задним числом.
  • Плашка «↻ перенесена N раз» в карточке задачи теперь обновляется сразу после сохранения новой «Даты для выполнения» — раньше счётчик и цепочка обновлялись только при повторном открытии модалки.
  • В селекте админ-учёток Базы InfoAS (карточка сотрудника) отключённые учётки скрыты — выбирать активную проще. Если у сотрудника уже привязана отключённая, она остаётся в списке с пометкой «отключён», чтобы заметить и перевыбрать.
  • Валидация комментария-обоснования при повторных переносах «Даты для выполнения» в части задач переставала срабатывать из-за внутренней ошибки. Теперь правило (нужно обоснование от 50 символов начиная со 2-го переноса) применяется ко всем задачам.
Что нового в релизе от 28.04.2026 12:27
  • В открытой карточке задачи теперь можно редактировать поле «Тема для пользователя» (CF3) — раньше оно заполнялось только при создании. Рядом — кнопка ⬇, которая переносит в это поле текущее «Название задачи», чтобы не копировать руками.
  • В форме создания задачи в проекте с настроенными «полями проекта» больше не пропадают глобальные кастомные поля. «Тема для пользователя» и «Пользователи» теперь видны сразу, без передёргивания выбора проекта.
  • Сроки задач (CF10 «Дата для выполнения») теперь везде трактуются как московское время. Раньше у сотрудников не в МСК браузер считал срок по локальному часовому поясу — задачи могли отмечаться просроченными за несколько часов до реального дедлайна, а в баннере «осталось…» показывалось неверное число часов.
  • На спринт-доске на сегодняшнем дне появилась горизонтальная линия текущего времени — сразу видно, где сейчас «прямо сейчас» относительно загрузки. Линия обновляется каждые 30 секунд.
  • В истории изменений при переносе задачи между проектами теперь отображается имя проекта (откуда и куда перенесли), а не числовой ID.
Что нового в релизе от 27.04.2026 15:34
  • План спринта теперь общий для всех серверов и устройств. Раньше черновик плана сохранялся в локальной базе каждого инстанса — у ПМа на локалхосте и на проде могли быть разные раскладки. Теперь один источник правды: открыли доску где угодно — видите одинаковую картину.
  • Спринт-доска сама подтягивает свежие данные, если коллега изменил план в другой вкладке или на другом устройстве. Не нужно жать F5 — изменения появляются в течение 30 секунд. Поллинг гаснет при уходе со спринт-доски и не дёргает сервер впустую.
  • Если двое одновременно правят одно и то же назначение, изменения больше не теряются молча. При конфликте появляется диалог с разбором: что именно поменял коллега (день / начало / трудоёмкость) — можно осознанно выбрать «перезаписать» или «перезагрузить доску».
  • Если назначение успели удалить в другой вкладке, попытка его двинуть больше не выдаёт ошибку — доска тихо обновляется и показывает актуальную раскладку с тостом-уведомлением.
  • Баннер «прошлый спринт не добит» теперь разделяет задачи к переносу на две группы. Сверху — то, что числится на разработчике (можно перетащить на доску текущей недели). Отдельной оранжевой строкой «⚠ Не на разработчике» — задачи на «Обратной связи», аналитике, ПМ или вообще без ответственного: перетаскивать их бесполезно (assignee'а на доске нет), нужно открыть карточку и решить руками.
  • В строке «⚠ Не на разработчике» рядом с каждой задачей сразу видно ответственного в квадратных скобках — понятно, кто держит задачу и почему она не на сетке.
Что нового в релизе от 27.04.2026 09:23
  • Колонка «К плану» на спринт-доске теперь видна всем сотрудникам, а не только редактору плана. Каждый видит пул нераспределённых задач коллег-разработчиков и может открыть карточку кликом. Перетаскивать задачи в сетку и менять план по-прежнему может только редактор плана.
  • Кнопка «⊞ В план» в шапке спринт-доски теперь работает у всех — можно скрыть/показать колонку «К плану». Раньше у не-редакторов нажатие выдавало тост и ничего не делало.
Что нового в релизе от 27.04.2026 00:52
  • Виджет «🎯 Чем заниматься сейчас» больше не идёт жёсткой очередью «просрочки → входящие → глобальные». Каждая задача получает балл, виджет показывает топ. Веса слагаемых плавно меняются в течение дня: пока есть необработанные просрочки — они давят; разгребли — наверх выходят свежие входящие и старые «висяки». При наведении на виджет — разбивка балла: из чего он сложился.
  • В шапке появилась кнопка «?» — «Правила фокуса». Объясняет компоненты балла, баланс отработки и жёсткие правила поверх. У администратора — настройка весов формулы и порогов анти-абьюза CF10.
  • Состояние виджета фокуса (счётчики просрочек за день, выбранная задача, настройка звука) теперь хранится на сервере. После F5 или открытия второй вкладки виджет не «мигает» и не сбрасывает прогресс — все вкладки видят одно состояние.
  • Окно «активной задачи сейчас» сужено: минимум 15 минут, максимум 4 часа. Раньше задача с оценкой в 8 часов горела «🔴 СЕЙЧАС» весь день — теперь плашка не зависает на сутки.
  • Если разработчик в составе текущего спринта, виджет фокуса показывает следующую задачу из плана спринт-доски, а не «среднюю по больнице». Задачи в статусе «Обратная связь» вылезают наверх — разлочить тестировщика приоритетнее любого следующего пункта плана.
  • В шапке появилась кнопка «🔥» — счётчик активных блокеров (задачи с флагом CF14 «Блокирует работу»). Видна, только когда блокеры есть; красным пульсирует, если хотя бы один без исполнителя. Клик открывает панель: время реакции, время «в работе», кнопки «Беру» и «Перехватить». При перехвате задачи у коллеги он автоматически попадает в наблюдатели — получит уведомление.
  • Над панелью блокеров — сводные метрики за 30 дней: сколько раз срабатывал блокер, среднее время реакции, среднее время решения. Видно динамику отдела поддержки.
  • У саппорта блокер CF14 — это громкий нисходящий аларм виджета (играет независимо от настройки звука). Кнопка звука доступна всем сотрудникам, каждый включает уведомления на своё усмотрение; громкий аларм блокера срабатывает только у техподдержки.
  • В шапке появилась плашка «📊» — задачи, закрытые мной за сегодня, и сравнение со средним отделом в процентах. Клик открывает «Мою продуктивность»: периоды (день / неделя / месяц / прошлый месяц), разбивка (просрочки / блокеры CF14 и CF19 / входящие / отдано на тест), столбчатый график за 30 дней и лидерборды этого и прошлого месяцев.
  • Среднее по отделу в продуктивности скорректировано на согласованные дни отсутствия. Сотрудник, бывший в отпуске половину периода, идёт за 0.5 в делителе — сравнение становится справедливее.
  • Перевод задачи в «Тестирование» или «Демонстрацию» теперь учитывается как «разработчик сдал свою часть» — отдельный счётчик в продуктивности. Финальное закрытие после QA кладёт задачу в основной счётчик тестировщику, а не разработчику — каждый видит свой реальный вклад.
  • Анти-абьюз переносов «Даты для выполнения» (CF10): нельзя двигать дату, у которой текущее значение сегодня или в прошлом (план уже не пересобрать — надо выполнять); новая дата должна быть рабочим днём; шаг переноса — не больше 5 рабочих дней; со 2-го переноса одной и той же задачи нужно обоснование в комментарии (минимум 50 символов). Админ обходит правила. Все пороги настраиваются в «Правилах фокуса».
  • В карточке задачи под бейджем времени появилась плашка «↻ перенесена N раз» с цепочкой дат в подсказке (от первой версии до текущей, кто двигал). Куратор сразу видит, насколько часто срок «убегает».
  • В «Моей продуктивности» — плашка «↻ Переносов за 30 дней»: количество событий и затронутых задач. Цвет растёт от amber к красному — мягкое самопредупреждение, без блокировок.
  • На спринт-доске бейдж разработчика теперь «X / Y»: X задач в плане этой недели, Y открытых версионных задач ждут размещения. Y > 0 подсвечивается оранжевым — это прямой TODO для ПМ. При наведении — оба списка с версиями и темами.
  • «Фильтр по теме» на спринт-доске больше не скрывает совпавшие карточки на сетке разработчиков, а подсвечивает их жёлтым контуром с импульсом при вводе. Видно, где задача стоит, не теряя картину занятости.
  • В сайдбаре «К плану» CF19 «❌ Блокирует» поднялся на первое место — выше задач из прошлого спринта. Клиент стоит — фикс важнее долга.
  • В «Аналитике спринта» сверху появилась метка «Последний закрытый спринт: …» с датой подведения итога. Сразу видно, до какой недели цифры — реальные итоги, а не «висящая» работа. У заголовка «Сводка по сотрудникам» — подсказка «?»: когда появляются цифры за неделю и как работает автомат подведения итогов (рабочий день для ПМ + автомат на следующий рабочий день).
  • Окно «Аналитики спринта» по умолчанию открывается на последние 4 недели — раньше брался весь год, цифры были размытыми.
  • На спринт-доске у не-редактора плана кнопка «Пересобрать ‘Сверх плана’» теперь явно дизейблится с подсказкой «доступно только редактору плана». Раньше клик молча ничего не делал.
  • История попаданий задач в спринты («N×»-бейдж) больше не обрезается на 500 ID. У активных разработчиков с большой выборкой бейдж теперь видим у всех задач, а не только у самых старых.
  • В режиме просмотра чужого пользователя виджет фокуса теперь показывает нейтральную плашку «👁 ПРОСМОТР: вид от лица: Имя», а не считает чужие задачи с моим балансом отработки и моей очередью спринта. Бессмысленные рекомендации больше не появляются.
  • Кнопка ✕ в новых модалках («Блокеры», «Моя продуктивность», «Правила фокуса») теперь действительно закрывает окно и затемнённый фон. Раньше окно оставалось на экране, хотя кнопка реагировала.
  • При ошибке «нужно обоснование переноса даты» подсветка ошибки указывает прямо на поле комментария — сразу понятно, куда писать.
Что нового в релизе от 26.04.2026 11:05
  • В карточке задачи рядом с полем «Тип обращения» появился бейдж «🎓 N» — сразу видно, сколько сотрудников назначены экспертами/помощниками по выбранной теме. При наведении показывается список с уровнем каждого и напоминание: чтобы обратиться к эксперту, переназначьте задачу со статусом «Обратная связь» — так в системе фиксируется, со сколькими задачами сотрудник не справился сам и по скольким ему помог эксперт.
  • В разделе «Сотрудники» на плашке каждого сотрудника появился бейдж «🎓 N» — количество привязанных тем экспертизы. При наведении — полный список тем с уровнем (эксперт/помощник). Не нужно открывать карточку, чтобы это узнать.
  • На один и тот же билд больше не создаются дубли тикетов-напоминаний QA. Раньше при совпадении ручного запуска и фоновой проверки могло появиться 2–3 одинаковых тикета у одного QA — теперь ровно один.
  • В шапке панели релизов добавлена кнопка «⚙ Дубли релизов» — показывает сборки, у которых в системе зарегистрировано больше одной строки. Помогает разобраться: один и тот же билд пришёл из Redmine двумя новостями или дубль появился где-то ещё.
  • На спринт-доске у тех, кто не является редактором плана, кнопка скрытия списка «К плану» раньше нажималась без видимого эффекта (список и так скрыт). Теперь при клике появляется подсказка: «Доступно только редактору плана спринта», — чтобы было понятно, почему ничего не происходит.
  • Тултип со списком тем экспертизы у бейджа «🎓» теперь всегда отображается поверх открытых модальных окон — раньше иногда уходил под диалог и оставался невидимым.
Что нового в релизе от 24.04.2026 01:52
  • В задаче отпуска/больничного/отгула появилось поле «Тип отпуска» с конкретным выбором: Регулярный отпуск, В счёт отпуска, Отпуск без содержания, Больничный, Отгул, Командировка. Раньше тип определялся только трекером — нельзя было различить «в счёт отпуска» и «без содержания», а «Командировка» вовсе не учитывалась.
  • В табеле и сводке отсутствий появилась отдельная колонка «Командировка» (К), а «БС» теперь явно названа «Отпуск без содержания». Командировка считается днями отсутствия, а не часами — как и отпуск.
  • В форме создания/копирования задачи можно прикрепить сразу несколько файлов, у каждого — своё описание. Раньше поддерживался только один файл за раз.
  • В недельном календаре и окнах «📅 Назначить время» / drag-to-schedule видны начало и конец рабочего дня сотрудника — нерабочие часы заштрихованы, границы подписаны при наведении. Если график выходит за 7:00–23:00 (например, 05:00–14:00), сетка автоматически расширяется, и окно сразу скроллится к рабочим часам.
  • Всплывающие сообщения в правом нижнем углу стали лучше видны — фон непрозрачный, время показа 5 секунд. Если навести курсор, сообщение не исчезает автоматически, пока не уведёшь мышь.
  • В «Контроле интеграций» появилась проверка «Служебные учётки ФармЭксперт» (Тип=Аптека, БК, активные). Непривязанные логины и утечки (сотрудник уволен — логин активен) теперь поднимают тикет ответственному так же, как по Redmine/amoCRM.
  • В «Настройках → Доступы» служебные учётки ФармЭксперт показаны строкой «Комментарий пользователя · Клиент: …», а не голым ID — админу сразу понятно, где именно заведён аккаунт.
  • У сотрудника может быть несколько логинов ФармЭксперт (например, две аптеки под одним человеком). Все они видны в карточке, основной помечен плашкой «осн.» и подставляется в CF «Пользователи» автотикета; дополнительные заводятся через «Настройки → Доступы» и тоже участвуют в контроле утечек.
  • Поле «Сводка» в модалке задачи и в форме создания появляется только при выборе закрывающего статуса или если сводка уже заполнена. Раньше оно висело всегда, мешая постановке новой задачи.
  • В форме создания задачи больше не показываются кастомные поля, которые админ выключил в настройках конкретного проекта (раньше «глобальные» CF могли появиться даже там, где их нет, — форма расходилась с реальным Redmine).
  • По одному сбою интеграции больше не создаются дубли тикетов ответственному. В многопроцессной работе (локальный debug + прод / несколько воркеров) раньше могло возникать 2–3 одинаковых тикета за секунду — сейчас ровно один.
Что нового в релизе от 23.04.2026 18:04
  • База знаний для AI переехала с FTP на папку, которую админ монтирует прямо на сервер. Нейронка всегда видит актуальную вики, без таймаутов FTP и без паролей в настройках.
  • В «Настройках → Интеграции → База знаний» появилась кнопка «🔍 Найти» — показывает список папок с текстовыми файлами, найденных на сервере приложения. Удобно, когда не знаешь точного имени папки, которую примонтировал админ: клик по строке — путь подставляется сам.
  • Ошибка ручной синхронизации базы знаний (например, «timed out») теперь видна прямо в плашке интеграции «База знаний» — с расшифровкой при наведении. Раньше она появлялась только мелкой строкой рядом с кнопкой «📥 Синхр.» и легко терялась.
  • Плашка статуса «База знаний» показывает количество найденных файлов в локальном режиме и конкретную причину ошибки, а не обобщённое «🔴 Ошибка».
  • В настройках БЗ режим «Локальная» теперь основной и стоит первым в списке; «FTP» остался как legacy для старых установок.
  • У регулярных задач при создании следующей подзадачи автоматически переносятся активные наблюдатели с предыдущей — не нужно каждый раз вручную добавлять тех, кто следит за цепочкой. Наблюдатели, отключённые в CRM (уволенные сотрудники), пропускаются, чтобы не плодить уведомления в пустоту.
Что нового в релизе от 23.04.2026 13:22
  • Сохранение задачи больше не падает с HTTP 403 «Время к выполнению заблокировано», если это поле ставил другой оператор или робот, а вы меняете только статус, комментарий или тему. Блокировка срабатывает только на реальное изменение самого поля.
  • Ошибки сохранения задачи теперь показываются поверх открытой модалки. Раньше тост появлялся за ней — пользователь не понимал, почему задача «молча» не сохранилась.
  • Если «Время к выполнению» действительно заблокировано другим оператором — вместо «HTTP 403» показывается понятное сообщение с именем того, кто его назначил.
  • В карточке сотрудника появилось поле «Логин в Админке InfoAS» (системный администратор, user_type_ID=1) — отдельное от «Пользователь служебной программы ФармЭксперт». Виден список, статус «активна / отключена», а также метка «— не найдена в Админке InfoAS», если привязка указывает на удалённую учётку.
  • Включена автосверка админ-учёток Базы InfoAS (включается в «Настройки → Контроль интеграций»). При расхождении — непривязанный активный админ-аккаунт или деактивированный сотрудник с активной учёткой — система ведёт себя так же, как с Redmine/amoCRM: три подряд сбоя создают тикет ответственному.
  • В разделе «Настройки → Доступы» админ-учётки Базы InfoAS попадают в общую матрицу под именами, а не голыми ID.
  • В пикерах привязки сотрудника (Redmine, amoCRM, Админка InfoAS) больше не предлагаются логины, уже занятые другим сотрудником или помеченные служебными — нельзя случайно создать дубль. Текущая привязка самого сотрудника остаётся видимой, даже если она неконсистентная, чтобы её можно было поправить.
  • У авто-подзадач регулярных задач автор теперь = автор родителя, а не тот, кто закрыл предыдущую. Если автор уволился или неактивен — используется цепочка замена → руководитель отдела → управляющий партнёр.
  • Регулярные подзадачи, закрытые прямо в Redmine (мимо дашборда), теперь тоже авто-порождаются — фоновая страховка каждые 10 минут.
  • Кнопка «Проверить» в «Контроле интеграций» показывает «⏳ Проверяю…» пока идёт ручной запуск — сразу видно, что проверка в процессе, а не зависла.
  • В модалке задачи поля «Тип задачи», «Версия экземпляра» и «ID экземпляра» теперь идут одной строкой — как в форме создания, логически связанные поля рядом.
  • Если при сохранении задача одновременно закрывается и меняется исполнитель — комментарий к смене назначенного больше не требуется: сводка итогов уже обязательна в диалоге закрытия, дублировать её бессмысленно.
  • В разделе «Доступы» в группе «Непривязанные» больше не показываются учётки, уже отключённые в источнике, — остаются только реально требующие разбора.
  • Пикер даты/времени («📅 Назначить время») при открытии из диалога создания задачи больше не оказывается под ним — теперь всегда поверх.
Что нового в релизе от 23.04.2026 01:42
  • На спринт-доске полоса «Не в плане» теперь показывает только пинг-сигналы, на которые разработчик переключается коротко: ❌ Блокирует, ❓ Обратная связь (пурпурный чип, по клику открывает модалку, в слот не таскается), Доработка. Остальные открытые задачи переехали в боковую «К плану» — чипы больше не забиваются планировочным хвостом.
  • В Аналитике спринтов по сотрудникам добавлена колонка «Скорость отклика» — среднее время от пинг-сигнала (Обратная связь / Доработка / ❌ Блокирует) до момента, когда разработчик переназначил задачу на следующего. Показывает, насколько человек не блокирует чужой процесс; hover — разбивка по сигналам.
  • В боковой «К плану» задачи из прошлого спринта всегда идут сверху с плашкой «⤴ из прошлого», а версионные выделены синей полоской — сразу видно, что разместить в первую очередь.
  • У имени разработчика на спринт-доске появилась иконка «?» с памяткой: порядок работы со спринтом, поведение на пингах и где смотреть «скорость отклика».
  • Поле «Версия экземпляра» (CF21) в модалке задачи и при создании — теперь только выбор из списка сборок Учёт 2.0 за 90 дней. Ввести вручную строку в строгом формате «дд.мм.гггг чч:мм:сс,xx» больше не нужно. Поле «ID экземпляра» (CF20) стало read-only — его заполняет источник обращения.
  • При «❌ Блокирует» (CF19) теперь обязательно указать «Версию экземпляра» — без неё сохранение блокируется с понятным сообщением и подсветкой поля. Без версии система не может вычислить окно непригодных сборок для релиза.
  • Состав релиза теперь виден сразу под шапкой — список задач открывается без клика на «+». Кнопка «+» в заголовке состава разворачивает его до накопительного итога (этот релиз плюс все более ранние в версии без дублей).
  • Для автозадачи волны раскатки «связаться» введено обязательное поле «Результат раскатки» (✅ Успешно / ❌ Проблема / ❓ Нет ответа). Если СТП закрывает задачу, не выбрав значение, Redmine Manager автоматически возвращает её в работу с напоминанием. Отметка клиентского фидбека в составе волны теперь подтягивается автоматически после закрытия автозадачи — ручные кнопки «OK / Негатив / Нет ответа» у контакт-волн убраны (источник истины один).
  • Если ответственный за интеграцию сегодня в отпуске, авто-тикет о сбое уходит по цепочке замена → руководитель отдела → управляющий партнёр, в описание добавляются даты отпуска исходного адресата. При выходе из отпуска тикет не переназначается обратно — сотрудники сами решают, кто закрывает.
  • Автопроверки интеграций перешли с часа на 10 минут — тикет ответственному поднимается примерно через 30 минут после реального сбоя вместо нескольких часов (порог эскалации — три неудачи подряд, чтобы отсечь сетевые миганья).
  • Если за деактивированным сотрудником остались ответственности за интеграции или служебные аккаунты, создаётся один тикет по цепочке эскалации со списком того, что нужно переназначить. Предупреждение автоматически закроется, как только все ответственности переадресованы или сотрудник активирован.
  • В журнале связанных задач (вкладка «Связанные» в модалке) рядом с темой теперь виден проект и исполнитель — легче ориентироваться в цепочке, не открывая каждую карточку.
  • В разделе «Настройки → Доступы» убрана кнопка «+ Зарегистрировать аккаунт»: источник правды — сами внешние системы, ручные записи создавали шум в эскалациях. Колонка «Последняя сверка» переименована в «Выявлен в источнике» с подсказкой, что делать, если дата старая. Пометка «⚠ Утечка» больше не висит на уже отозванных аккаунтах.
  • Тема автозадачи волны раскатки больше не раздувается списком uid'ов — теперь «клиент Имя» вместо «клиент Имя (12345, 67890, 98765)». Полный список пользователей остаётся в поле «Пользователи» и в описании.
  • В модалке создания волны раскатки чип «Версия» у кандидата всегда идёт отдельной строкой под шапкой — позиция перестала прыгать в зависимости от длины имени пользователя.
Что нового в релизе от 22.04.2026 17:53
  • В модалке создания задачи рядовому сотруднику снова доступны кастомные поля, включая баннер «📅 Время к выполнению». Раньше блок полей был пустым — время к выполнению назначить было нельзя.
  • Закрытая задача пропадает с доски, из фокус-виджета «Чем заниматься сейчас» и со спринт-доски сразу после смены статуса в модалке — без обновления страницы.
  • Отпускные тикеты (Отпуск / Больничный / Отгул / БС) после принятия решения (Согласован или отказ) больше не висят во «Входящих» и не попадают в фокус-виджет. Сам отпуск виден в «Сотрудники → Отпуска» и в Redmine.
  • Название задачи в модалке теперь обычный текст — его можно выделить и скопировать мышкой. Для правки — кнопка «✏» справа; сохранение прежнее, через «💾 Сохранить».
  • Модалка создания задачи открывается того же размера, что и окно просмотра — поля на тех же местах, работать с задачей одинаково удобно в любом сценарии.
  • В модалке задачи увеличены шрифты названия, полей, описания, комментариев и вкладок — читать стало заметно удобнее.
  • В карточке сотрудника клик по номеру отпускного тикета открывает задачу прямо в Redmine Manager'е, а не уводит в новую вкладку с Redmine.
  • В списке отпусков сотрудника статус тикета подсвечен цветом: «Согласован» — зелёным, «Отклонён» — красным, в работе — серым. Плашка «архив» — жёлтая, сразу отличима от текущих записей.
  • Комментарий теперь обязателен при прикреплении файла — нужно подписать, куда смотреть и какие выводы. Рядом с полем комментария появилась ссылка на регламент оформления.
  • В «Настройках → Доступы» учётка, которую источник (Redmine / amoCRM / База InfoAS) перестал возвращать, автоматически переходит в статус «Отозван». Раньше такие аккаунты попадали в отдельную рубрику «Только в менеджере» и создавали шум в эскалациях — теперь рубрика убрана, остаются только «Непривязанные» и «Утечки».
  • При временном сбое связи с Базой InfoAS задача в проекте «Учёт 2.0» по-прежнему сохраняется. Раньше проверка пользователей CF#6 не отличала «пользователь не найден» от «нет связи» и блокировала сохранение.
  • В подсказках, сообщениях и описаниях авто-тикетов приложение стабильно называется «Redmine Manager» — меньше путаницы с сотрудниками-менеджерами.
Что нового в релизе от 22.04.2026 01:31
  • Когда в волну раскатки попало несколько пользователей одного клиента, теперь создаётся одна автозадача со списком пользователей (CF6) через запятую и именем клиента в шапке — вместо нескольких параллельных задач по одному клиенту.
  • Дополнительных пользователей клиента можно выбрать галочками прямо при создании волны — под карточкой кандидата появляется сворачиваемый блок «Ещё пользователи клиента (N)». Раньше их пришлось бы докидывать по одному уже после создания волны.
  • «Тема для пользователя» (CF3) теперь формулируется осмысленно и зависит от типа волны: «Получение обратной связи по …» для «связаться» и «Назначение версии по …» для «без связи». Клиент видит полезную тему, а не служебный subject саппорта.
  • В «Составе волны» рядом с номером автозадачи виден её актуальный статус из Redmine («✓ Закрыт 21.04.26» / «В работе» / «нет доступа»), а плашка «Ждём фидбек» сменяется на «СТП в работе», пока автозадача открыта. Сразу видно, на чьей стороне сейчас ожидание.
  • Кнопки «OK / Негатив / Нет ответа» для клиентского фидбека — прямо в строке состава волны. Появляются после того, как автозадача закрыта. Раньше UI для этого не было, и отметка «Ждём фидбек» висела бессрочно.
  • При создании волны показывается индикатор прогресса с секундомером и пояснением текущей фазы. Без него локальная AI-модель могла думать 1–2 минуты, и казалось, что приложение зависло.
  • Кнопка «🐞 Проверить AI-тему» в модалке создания волны: показывает, что уходит в нейронку и что она ответила; промпты редактируются прямо в окне, можно перезапустить с правками или сохранить как настройки без перезагрузки приложения. Плюс параллельная генерация — волны с несколькими разными наборами обращений готовятся заметно быстрее.
  • В описании автозадачи список reason-тикетов теперь каждым пунктом на отдельной строке — удобно забирать номера и темы копи-пастом.
  • «Тема для пользователя» больше не вырождается в обрывок из темы исходного тикета (типа «в окне КИЗов») при капризах нейронки. От модели теперь требуется ответ в обязательных тегах [[ANSWER]]…[[/ANSWER]], есть проверка префикса и длины; при сбое подставляется осмысленный fallback.
  • Календарь выбора времени и ещё пять диалогов (подтверждение несохранённых правок, связать задачу, создать копию, сменить родителя, поиск задач) теперь всегда открываются поверх карточки задачи. Раньше могли оказаться под ней и становились недоступны для работы.
Что нового в релизе от 21.04.2026 15:15
  • Навигация в шапке («📋 Доска», «📅 Календарь», «⚠ Замечания», «🚀 Спринты», «🏷 Релизы» и логотип «RM/MGR») снова читается в светлой теме. Раньше тёмный текст на тёмной подложке шапки почти сливался — приходилось присматриваться.
  • Автозадача тестировщику «Релиз — проверить (жив/не жив)» теперь гарантированно закрывается после нажатия «жив» или «не жив». Если первая попытка сорвалась из-за сбоя сети или Redmine, система сама дотянет её на следующем тике напоминаний — без дубликата комментария под задачей.
  • Состав старых месячных версий (2+ месяца назад) теперь подтягивается из Redmine автоматически — при первом открытии версии и далее не чаще раза в сутки. Если нужно обновить прямо сейчас, кнопка «⇣ Сканировать» при открытой версии делает точечный пересбор именно этой версии.
Что нового в релизе от 21.04.2026 01:27
  • В окне создания задачи поле «Назначен» теперь допускает значение «— Не назначен —». Удобно, когда задача в «Поддержке» заводится в общий пул без конкретного исполнителя — раньше система требовала выбрать человека.
  • Название задачи можно менять прямо в шапке окна — кликните по заголовку, отредактируйте и нажмите «💾 Сохранить». Раньше для переименования приходилось открывать задачу в Redmine.
  • Для трекера «Улучшение» при переводе на «Тестирование» окно задачи запрашивает два файла с подписями «Как это работает?» и «Как это тестировать?». Подписи уходят в описание вложений. Если к задаче уже приложены два файла — новые не требуются.
  • Из карточки задачи убраны поля «Как это работает» / «Как это тестировать» — соответствующие кастомные поля удалены из Redmine, и интерфейс больше не показывает пустой блок.
  • В карточке релиза появились плашки важности — ✅ Важная / ⚠️ Критично / ❌ Блокирует. Плашка наследуется от задач в составе релиза по полю «Блокирует»; в тултипе — список задач-источников. На первый взгляд видно, какую сборку держать на особом контроле.
  • У каждой задачи в составе релиза теперь свой бейдж важности, если у задачи задано поле «Блокирует». Сразу видно, какая именно задача делает релиз «критичным» или «блокирующим», не заходя в Redmine.
  • Состав релиза теперь раскрывается по кнопке «+» в шапке карточки — показывает накопительный итог задач этого и всех предшествующих релизов версии, без дублей. Открытой может быть только одна карточка — раскрытие новой автоматически сворачивает старую, чтобы не терять контекст.
  • В администрировании появилась диагностика подключений к CRM-БД: по каждой попытке фиксируется фаза сбоя (DNS / TCP / handshake), resolved IP, время, сырой результат TCP-пробы. Помогает быстро передать админу «фактуру» при разрывах «Lost connection during query» — не нужно гадать, где именно зависает.
Что нового в релизе от 21.04.2026 00:25
  • Раздел «Релизы» переведён на единую терминологию: «версия» — это месячный набор задач, «релиз» — промежуточная тестовая сборка Jenkins внутри версии. Перепутаться больше негде: вкладка называется «📦 Версии и релизы», в карточке плашки «релиз #…» / «версия #…», в подсказке «?» сверху — определения обоих понятий.
  • В карточке релиза появился список задач, вошедших в этот релиз. Подсветка по статусу как в карточке задачи (закрытые — зелёный фон с зачёркнутым номером, тестирование — жёлтый, доработка — красный, и т.д.); клик по номеру открывает карточку задачи. Колонки выровнены: слева трекер, потом номер, потом заголовок.
  • Пока состав релиза подгружается, на его месте бегут серые полосы-«шиммер». Список карточек релизов рисуется сразу, по мере прихода данных каждая карточка обновляется отдельно — больше не приходится ждать пустого экрана.
  • Над списком месячных версий слева появилась галка «показывать завершённые». По умолчанию выключена — в работе обычно текущая открытая версия, архив прошлых месяцев виден по требованию.
  • Рядом с вердиктом «жив / не жив» теперь видно, кто из тестировщиков его выставил и когда. Удобно, когда команд тестирования несколько и нужно понять, к кому обратиться по сомнительной сборке.
  • Релизы со временем меньше 10:00 (например, «0:34:48») теперь корректно подхватываются из новостей Jenkins. Раньше парсер требовал двузначный час и молча пропускал такие сборки — они не появлялись в списке.
  • Ранние релизы месяца, выпущенные до создания соответствующей месячной версии в Redmine, теперь автоматически прицепляются к версии, как только она появляется или вы открываете её слева. Раньше эти релизы оставались «без версии» и в списке не показывались.
  • Автозадача тестировщику на проверку нового релиза снова создаётся в Redmine. Ранее запрос отбивался ошибкой сервера из-за отсутствия трекера в полях задачи.
  • Автозадача тестировщику теперь создаётся только для релизов в открытых версиях Redmine. Релизы из завершённых месяцев больше не дёргают тестировщика напоминаниями — вердикт по архиву уже неактуален.
  • В аналитике спринтов появилась колонка «+N сверх плана» — сколько задач сотрудник закрыл (или сдал на тестирование/демонстрацию) в неделю спринта вне плана. Цифра видна в общих итогах и по каждому исполнителю; в тултипе — список номеров задач. Кеш заполняется автоматически при подведении итога спринта.
  • Для исторических спринтов добавлена кнопка «🔁 Пересобрать «сверх плана»» — обходит все зафиксированные спринты в выбранном окне аналитики и считает заново. Полезно после первой выкатки фичи, чтобы увидеть метрику и по уже завершённым неделям.
  • В строке аналитики по сотруднику теперь видны часы плана с разбивкой по итогу: выполнено / перенесено / отменено / ждёт. Раньше показывалась только общая сумма часов без понимания, куда они «ушли».
  • Рядом с полем поиска в шапке появился крестик «✕» — очистить запрос одним кликом, не выделяя текст.
Что нового в релизе от 20.04.2026 21:43
  • В разделе «Сотрудники» появилась привилегия «Редактор плана» — ровно один сотрудник на команду может править спринт-доску и фиксировать её. У всех остальных доска открывается в режиме просмотра (👁). Передаётся снятием галки у одного и установкой у другого.
  • После фиксации спринта в первые 24 часа у редактора плана активна кнопка «🔓 Отменить фиксацию» и рядом тикает таймер. Если ошиблись при растяжке или назначении — можно откатить, поправить и зафиксировать заново. После истечения окна или появления первого итога по задаче отмена недоступна.
  • Кнопка «Подвести итог» прошлого спринта и авто-воркер теперь классифицируют задачи по реальным статусам Учёт 2.0: «Закрыта / Тестирование / Демонстрация» → Выполнена, «Отклонена / Дубль» → Отменена, всё остальное → Перенесена. Раньше совпадение по подстрокам цепляло лишние статусы и искажало статистику.
  • Авто-итог прошлого спринта теперь ждёт полный рабочий день, а не календарный. Если понедельник — праздник, ПМу даётся вторник на ручной разбор, воркер сработает в среду. Сдвиги идут по производственному календарю.
  • Производственный календарь автоматически догружает следующий год, когда до конца покрытия остаётся меньше 21 дня. Раньше нужно было догружать вручную — теперь напоминания и дежурства не «проваливаются» в праздники. Тикет ответственному уходит только при сбое автозагрузки.
  • Автотикеты QA на новые сборки Jenkins снова создаются: заполняются обязательные поля «Пользователи» и «Тема для пользователя». Раньше Redmine отклонял их по 422, QA не получала напоминания.
  • Кэш блокирующих задач снова обновляется — перестал падать из-за формата даты, который отдаёт Redmine. Возвращается корректная подсветка «непригодных сборок» и проблемных клиентов.
  • Тултип чипа статуса спринта теперь описывает весь жизненный цикл доски: черновик → фиксация → окно отмены → финал. Тултип кнопки «↻» объясняет, что именно перегружается и когда её жать. Тултип «База знаний» в настройках — про FTP/локальный режимы и отличие от «Регламента».
Что нового в релизе от 20.04.2026 17:43
  • После фиксации спринта сотрудники видят не только список задач, но и раскладку «день × часы» — ровно ту, что ПМ разложил у себя. Раньше сетка была пустой, потому что часовая раскладка оставалась на машине ПМа.
  • В зафиксированном спринте появилась кнопка «↻ Обновить раскладку». Если после фиксации подвинули блоки — нажатие опубликует новую версию сетки для всей команды, момент фиксации не меняется.
  • В «Настройки → Интеграции» добавлена отдельная плашка «CRM База данных» с параметрами подключения (хост, порт, база, логин) и статусом. Сразу видно, куда и под кем ходит Redmine Manager, и если упало соединение с CRM — видно это в одном месте.
  • Плашка «Админка InfoAS» переименована в «Админка InfoAS (slave i9ru)» — чтобы не путать с основной CRM-базой приложения.
Что нового в релизе от 20.04.2026 10:43
  • Комментарий к приложенному файлу в задаче теперь виден целиком под именем файла — не обрезается и не прячется в тултип. Сразу понятно, зачем его прикрепили.
  • Приложенные к задаче файлы показываются в столбик, друг под другом. На длинных именах и переносах ничего не «плывёт».
  • Спринт-доска теперь показывает всем сотрудникам одинаковый план команды. Раньше разработчик без прав на чужие проекты видел пустые плашки и колонки — ПМ видел полную картину, а коллеги часть задач просто не наблюдали.
  • Клик по номеру задачи (#12345) в блоке на спринт-доске теперь надёжно открывает карточку. Раньше клик иногда «проваливался» и воспринимался как начало перетаскивания.
  • Если перетащить незакрытую задачу прошлого спринта на текущую неделю, баннер «⤴ к переносу» сразу перестаёт её считать — не нужно сначала фиксировать спринт, чтобы баннер обновился.
  • Сохранение в разделе «Настройки → AI/Интеграции» больше не теряет часть изменений при одновременном сохранении нескольких блоков (например, промт регламента и параметры БД i9ru). Раньше последний блок мог затирать предыдущий.
  • В окне «Создать связанную задачу» больше не остаётся плашка AI-вердикта от предыдущей задачи. Каждое открытие — чистый лист.
Что нового в релизе от 20.04.2026 04:22
  • Длинная задача на спринт-доске автоматически продолжается на следующий рабочий день. Например, 4 часа начиная с понедельника 17:00 разобьются на 1 час в понедельник и 3 часа с утра во вторник. Части связаны цепочкой и перемещаются вместе.
  • Колонка дня в спринт-доске всегда строго 9:00–18:00. Раньше растягивалась вниз под переработку и ломала выравнивание колонок.
  • Части многодневной задачи визуально связаны пунктиром и стрелками →/←: сразу видно, что задача продолжается в другой день.
  • Кнопка «🔒 Зафиксировать спринт» теперь работает и на прошлых неделях. Удобно закрыть забытый спринт задним числом или потестировать.
  • Если при фиксации спринта в проектах не хватает месячной версии — система предлагает создать все недостающие одним кликом и повторить фиксацию.
  • Имя месячной версии в диалоге фиксации показывается в том же формате, что и в Redmine (YYYY/MM/DD). Раньше подпись «2026.04» не совпадала с реальным названием и вводила в заблуждение.
  • Автоматическое подведение итогов прошлого спринта: если ПМ не нажал «Подвести итог» до вторника новой недели — итог проставляется сам. Задачи не висят «без итога» и не портят аналитику.
  • Задачи в статусах «Тестирование / Ревью / Демонстрация» при подведении итога засчитываются как «Выполнена». Зависание на QA больше не ухудшает метрику разработчика.
  • Баннер «Прошлый спринт» стал умнее: пока есть задачи без итога — красный «⚠ не добит» с кнопкой; после подведения итога, пока не все перенесены — мягкое «⤴ к переносу».
  • В строке «Не в плане» спринт-доски кочующие из прошлого спринта задачи помечены «⤴» и стоят отдельной группой. Сразу видно, что перенести в первую очередь.
  • Бейдж «N× в спринте» теперь виден и на чипах верхнего ряда «Не в плане» — было только в сайдбаре.
  • Задачи, уже стоящие на доске, не показываются в списке «К плану». Меньше дубликатов и визуального шума.
  • У лейблов «Не в плане» и «К плану» появились иконки-справки «?» с правилами сортировки и фильтрации. Раньше эта логика была спрятана.
  • В аналитике спринтов фильтр «Окно» стал календарным пикером недель. Больше не нужно вводить «2026-W01» руками и угадывать формат.
  • В аналитике при наведении на цифру «Готово / Кочуют / Отменено / В работе» показывается список задач — номер и название. Сразу понятно, что стоит за числом.
  • В заголовке «Повторов» объяснено, что этот показатель не связан с «Кочуют» — это разные метрики. Раньше цифры могли казаться противоречивыми.
  • В карточке сотрудника флаги «Активен», «В спринт-доске» и «Тестировщик (QA)» теперь в одной строке — компактнее и логичнее сгруппированы.
  • Из UI убраны английские термины outcome / done / rolled_over / pending. Везде показываются «итог», «Выполнена», «Перенесена», «без итога».
  • Продолжение многодневной задачи иногда оставалось на том же дне вместо перехода на следующий (в часовых поясах с положительным UTC-сдвигом). Теперь цепочка всегда корректно распределяется по дням.
  • Ресайз второго дня многодневной задачи «сбрасывал» задачу на другой день и терял первый. Теперь начало цепочки остаётся на месте, меняется только её длина.
  • Баннер «Прошлый спринт не добит» после нажатия «Подвести итог» перестал показывать задачи, которым итог уже проставлен.
Что нового в релизе от 19.04.2026 11:48
  • В карточке сотрудника появилось поле «Пользователь InfoAS»: при вводе ID сразу подтягиваются имя, клиент и статус активности из Базы InfoAS — не нужно идти в админку проверять.
  • Контроль интеграций ловит утечки в Базе InfoAS: если сотрудник деактивирован, а его пользователь в InfoAS активен — это отображается в разделе «Доступы» и эскалируется автотикетом.
  • В спринт-доске в колонке «Пользователи» задач версии теперь видно имя пользователя и версию его клиентской программы. В тултипе — полные данные из Базы InfoAS (клиент, регион, статус).
  • При назначении ответственного за контроль интеграций система сразу проверяет, что у сотрудника заполнен «Пользователь InfoAS». Ошибка видна сразу, а не через сутки в логах эскалации.
  • Кнопка «Проверить сейчас» в контроле интеграций показывает, почему не удалось создать автотикет (раньше сбой эскалации был «невидимкой»).
  • Пункт меню «Настройки» переименован в «Интеграции» — точнее отражает содержимое раздела.
  • В форме создания задачи поле «Тема для пользователя» — всегда однострочный ввод с кнопкой «Заполнить из названия задачи». Порядок полей «Тип задачи» и «Куратор» совпадает с модалкой открытия.
  • Автотикеты контроля интеграций теперь корректно создаются в проекте «Общий» — заполняются обязательные поля «Пользователи» и «Тема для пользователя» (раньше Redmine отклонял их).
  • Добавление VPN-доступа через карточку сотрудника больше не сбрасывает флаг «служебный» и ответственного у уже существующих служебных аккаунтов при совпадении ID.
  • Автотикет-уведомление о замене при согласовании отпуска теперь корректно сохраняет свой Redmine-ID — ссылка в логе замены перестала быть пустой.
Что нового в релизе от 19.04.2026 02:23
  • Новый раздел «Мой Google Calendar»: задачи из Redmine автоматически попадают в ваш личный Google-календарь и обновляются раз в 10 минут. В разделе можно проверить доступ и запустить синхронизацию вручную.
  • Контакты сотрудника теперь множественные: несколько телефонов, e-mail, Matrix. Обязателен хотя бы один телефон. Российский номер автоматически приводится к виду «+7 XXX XXX XX XX».
  • В карточке сотрудника телефон и e-mail — кликабельные: звонок и письмо открываются в один клик.
  • В карточке сотрудника добавлены секции «Дежурства за год» и «VPN-доступы». У одного человека может быть несколько VPN-логинов (ноутбук, домашний ПК, резерв) — все в одном месте.
  • В разделе «Доступы» отображаются реальные имена аккаунтов из Redmine и amoCRM, а не только ID. Есть кнопка «↻ Обновить» для принудительной перезагрузки.
  • Для служебных аккаунтов обязательны ответственный и заметка. Через полгода не останется «ничьих» аккаунтов, про которые никто не помнит, зачем они были заведены.
  • При добавлении сотрудника появился выбор из списка активных Redmine-пользователей — не нужно вручную искать ID. Имя подставляется автоматически.
  • В настройках отделов появилась галка «Дежурства». Автозадачи на составление графика дежурств создаются только отмеченным отделам — лишних тикетов у разработки и администрации больше не будет.
  • В табеле появился отдельный учёт «×2»: дежурство в нерабочий для сотрудника день помечается и выводится отдельной цифрой.
  • Регулярная задача, у которой исходный исполнитель в отпуске, автоматически переназначается на замену, руководителя или управляющего партнёра. В описании отмечено, на кого и почему.
  • В календарях и окнах «📅 Назначить время» дни, когда исполнитель в отпуске или выходной по графику, помечаются водяным знаком. Видно до назначения, что день нерабочий.
  • В недельном календаре задача, не поместившаяся в рабочий день, переносится на следующий рабочий день по графику, а не просто на завтра — суббота/воскресенье сотрудника больше не «захватываются».
  • В форме создания задачи дополнительные поля показываются только те, что применимы к выбранному проекту и трекеру. Смена проекта или трекера не стирает уже введённые значения.
  • В спринт-доске у сотрудников с нестандартной рабочей неделей (Пт/Сб/Вс) суббота корректно рисуется рабочей, даже если у страны выходной.
  • Статус «лицензия free» в amoCRM больше не путается с «отключён» — в карточке видно, что сотрудник активен, просто на бесплатной лицензии.
  • Единый формат даты в интерфейсе — «дд.мм.гг». Сырые ISO-строки вида «2026-04-20 00:00:00» убраны.
  • Автозадача на составление графика дежурств больше не «теряется» при временном сбое Redmine — следующий запуск попробует создать её снова.
  • Согласованный, но ещё не начавшийся отпуск больше не помечается как «завершён» из-за особенностей статусов в Redmine — блокировка назначения задач срабатывает корректно.
  • Отпуска правятся только через процесс согласования в Redmine — ручные изменения через админку отключены, чтобы исключить расхождение.
  • При выборе исполнителя задачи модалка больше не прокручивается вниз к полю комментария — контекст выбора не теряется, подсветка «нужен комментарий» сохранена.
Что нового в релизе от 18.04.2026 15:15
  • Новый раздел «🔐 Доступы» — единый инвентарь учётных записей во всех внешних системах. Строка = сотрудник, колонки = системы (Redmine, amoCRM, далее VPN/VM/почта/АТС/мессенджер по мере подключения), ячейки = чипы учёток. Наглядно видно, у кого какие доступы и где чего не хватает.
  • В «Доступах» активный доступ у деактивированного сотрудника подсвечивается красным пульсирующим чипом — «утечка». Счётчик таких случаев — в красной плашке сверху раздела, чтобы не пропустить при оффбординге.
  • Учётки, найденные в системе-источнике, но не сопоставленные ни с одним сотрудником, автоматически попадают в секцию «? Непривязанные аккаунты» сверху раздела «Доступы». Одна кнопка «Классифицировать» — привязать к человеку или пометить как служебный.
  • Служебные аккаунты (боты автотикетов, деплой-учётки, общие sip-extensions) вынесены в отдельную секцию раздела «Доступы» с указанием ответственного. Если ответственный не назначен — подсвечивается «нет ответств.».
  • Фильтр-фокус в «Доступах»: все / только с утечками / с пропусками базовых доступов (нет Redmine или AMO — обычно новичок или забыли выдать) / деактивированные сотрудники.
  • Новая периодичность регулярных задач — «Ежедневная (без выходных)». Считает по производственному календарю isdayoff.ru: пропускает субботы, воскресенья и официальные праздники, учитывает перенесённые рабочие субботы. В карточке задачи — бейдж «РД».
  • Экспертиза сотрудника — выбор тем теперь в одном окне мультивыбором: сразу все темы со статусами (эксперт/помощник) и счётчиком «сколько других сотрудников уже имеют эту компетенцию». При наведении на счётчик — список имён и уровней.
  • Обычный F5 теперь гарантированно подхватывает новую версию интерфейса — убрана необходимость делать жёсткую перезагрузку Ctrl+F5 после выкаток.
  • Предупреждения больше нельзя закрыть вручную — кнопка «✓ Решено» убрана. Закрываются только автоматически: при закрытии связанного Redmine-тикета или при устранении причины. Вместо кнопки — плашка «🔒 ждёт закрытия тикета» или «⚠ тикет не создан — ждёт следующего цикла» с пояснением, что делать.
  • Если тикет интеграции не удалось создать с первого раза (не был назначен ответственный или Redmine был недоступен) — предупреждение больше не «виснет» без тикета. Каждый следующий цикл автосверки пытается создать тикет, пока не удастся.
  • Предупреждение «Нет руководителя отдела для автозадач на дежурства» теперь само снимается, как только руководитель назначен.
  • В разделе «Сотрудники» блок «Экспертиза» иногда зависал на «Загрузка…» при выборе сотрудника — была гонка инициализации. Исправлено.
  • При недоступности CRM-БД (выключен VPN) разделы «Сотрудники» и «Доступы» теперь показывают красную плашку с причиной и кнопкой «↻ Повторить» вместо пустого экрана без объяснения.
  • Владелец отпуска берётся из поля «Автор» тикета в Redmine, а не «Назначено». После согласования поле «Назначено» часто указывает на руководителя-согласующего, из-за чего отпуска записывались не на того сотрудника.
  • Переименованы интеграции в интерфейсе: «i9ru CRM» → «Админка InfoAS», «i9ru» → «База InfoAS». Отражено в карточках настроек интеграций, диагностике, контроле синхронизации и разделе «Доступы».
Что нового в релизе от 17.04.2026 16:31
  • Появился «Управляющий партнёр» — один сотрудник, назначается в карточке. Задачи, у которых не хватает руководителя отдела, эскалируются напрямую на него.
  • В карточке сотрудника — поле «Замена (отпуск)». Выбирается из коллег того же отдела. Именно этот человек подменит сотрудника во время отпуска.
  • Новая вкладка «Структура» — визуальная орг-схема команды с цветами отделов. Сотрудники без отдела подсвечены красным «!», партнёр и руководители помечены значками. Клик по плашке открывает карточку.
  • Темы экспертизы можно добавлять прямо в карточке сотрудника кнопкой «+ Новая тема» — больше не нужно идти в Redmine. Если Redmine не пускает редактировать справочник, тема сохранится в Redmine Manager'е, а контроль интеграций автоматически заведёт тикет на ответственного.
  • При согласовании отпуска заменяющему сотруднику автоматически копируется график отпускника на период отсутствия, если графики различаются. По окончании периода график возвращается сам.
  • При согласовании отпуска заменяющему создаётся задача-уведомление в проекте «over» — чтобы он не узнал о подмене случайно.
  • Если согласование отпуска откатили — автоподмена графика и задача-уведомление откатываются сами.
  • При попытке назначить задачу на сотрудника, у которого согласованный отпуск в эту дату, открывается диалог: продолжить, назначить на замену или отменить. Работает и в редактировании задачи, и при создании.
  • Новый раздел «Настройки → Контроль интеграций». Сводка по всем внешним системам (Redmine пользователи, Redmine CF11 «Тип обращения», amoCRM, i9ru) с ответственным за каждую интеграцию, статусом последней проверки и кнопкой «Проверить».
  • Если интеграция сбоит 3 проверки подряд — автоматически создаётся Redmine-тикет на ответственного в проекте «over» (трекер «Ошибка»), и в журнале предупреждений появляется запись со ссылкой на этот тикет.
  • Предупреждения, привязанные к Redmine-тикету, нельзя закрыть вручную — они закроются сами, когда ответственный закроет тикет. У таких записей вместо кнопки «Решено» — замок с подсказкой.
  • Синхронизация тем из Redmine CF/11 теперь работает: раньше возвращала 404 на несуществующий endpoint — перешли на общий справочник кастомных полей с фильтром. Расхождения между Redmine Manager'ом и Redmine корректно фиксируются контролем интеграций.
  • Группа «Управляющий партнёр» в списке сотрудников перенесена в самый верх и оформлена единообразно с отделами (цветная полоска слева, а не сплошная заливка).
  • Значок управляющего партнёра — лаконичная буква «П» в кружке вместо короны.
  • Модалка «+ Новая тема» теперь оформлена в стиле проекта, а не через системное окно браузера.
  • Спринт-доска грузится заметно быстрее — убраны лишние запросы к Redmine, которые в этом виде не используются.
  • Данные пользователей i9ru (чипы в модалке задачи) снова корректно подтягиваются — SQL-запрос обновлён под изменённую схему базы.
Что нового в релизе от 17.04.2026 01:56
  • Раздел «Настройки и интеграции» — единая страница управления подключениями к AI API, базе знаний (FTP/локальная), i9ru CRM и isdayoff.ru. Проверка статуса всех сервисов одной кнопкой.
  • Производственный календарь — праздники и выходные из isdayoff.ru, дежурства сотрудников, автозадачи на дежурства за 7 дней до праздника, табель учёта рабочего времени.
  • Спринт-доска: праздничные дни и отпуска подсвечиваются, нельзя назначить задачу на выходной или когда сотрудник в отпуске. Задачи с меткой «❌Блокирует» (CF#19) выделяются красным и поднимаются наверх списка.
  • Состав спринт-доски теперь управляется из раздела «Сотрудники» флагом «В спринте» — вместо перебора ролей по всем проектам Redmine, что ускоряет загрузку.
  • Диалог трудоёмкости при добавлении задачи в спринт — стилизованное окно вместо prompt(). Ввод подтверждается Enter, отменяется Escape.
  • Отделы в разделе «Сотрудники» — группировка по отделам с цветовой маркировкой, назначение руководителя отдела, поиск по имени/логину/ID.
  • Синхронизация отпусков из Redmine-проекта «vacation» в CRM — отпуска, больничные, отгулы. Автозакрытие просроченных тикетов. При назначении задачи на сотрудника в отпуске показывается предупреждение.
  • Данные пользователей i9ru (CF#6) — чипы с подробностями из CRM-админки прямо в модалке задачи и в диалоге создания.
  • Редактируемое поле CF#19 «Блокирует» в модалке задачи — выпадающий список с вариантами из Redmine.
  • Навигация: кнопка «Сотрудники» и новые разделы (Произв. календарь, Настройки) перенесены в меню пользователя — панель инструментов стала чище.
  • Фоновая синхронизация базы знаний (FTP watcher) — запускается автоматически, периодически скачивает обновления.
  • Репозиторий в модалке задачи — diff корректно загружается через Basic Auth, если API-ключ не работает для репозитория.
  • Отрисовка Redmine-текста: блоки <pre> сохраняются без искажений, списки (* и #) группируются в <ul>/<ol>, убраны лишние пустые строки.
  • Родительская задача в модалке показывает иконку периодичности (если она регулярная).
Что нового в релизе от 16.04.2026 16:38
  • Раздел «Сотрудники» — управление карточками сотрудников из CRM-базы: графики работы, временные графики, отпуска, подмены, проекты Redmine
  • Экспертиза сотрудников — назначение тем экспертизы (эксперт / помощник) с синхронизацией справочника тем из Redmine
  • Вкладка «Репозиторий» в карточке задачи — список ревизий с файлами, ссылками на diff и entry, заметки «Как работает» и «Как тестировать»
  • Экспорт задачи в ZIP — все данные (поля, описание, история, вложения) одним файлом для передачи контекста
  • Фильтр «Не назначены» в списке пользователей — показывает задачи без назначенного исполнителя
  • Кнопка «Связать» перенесена в секцию связанных задач; блок связанных задач виден всегда, даже если связей пока нет
  • У вложений теперь отображается автор и дата загрузки
  • В истории изменений отображается смена версии (поле «Версия»)
  • Список версий при назначении в разделе «Новости» ограничен выбранным проектом
  • Цветовая шкала отставания версии от срока стала точнее: зелёный до месяца, оранжевый до трёх
  • Регулярные задачи без родителя или с нерегулярным родителем больше не вызывают ошибку — молча пропускаются
Что нового в релизе от 15.04.2026 23:06
  • В карточке задачи всегда видны поля «Начало» и «Окончание» — теперь они редактируемые, даже если дата ещё не задана.
  • Нажатие Esc при открытом списке наблюдателей теперь закрывает именно список, а не всю карточку задачи.
  • Список наблюдателей закрывается кликом в любое место за его пределами — больше не нужно искать другие способы закрыть его.
  • В список наблюдателей больше не попадают отключённые пользователи.
  • Спринт-доска: перетаскивание задач по сетке и изменение длительности мышью — позиция и время сохраняются сразу.
  • Спринт-доска: панель поиска задач — можно найти задачу по номеру или теме и сразу добавить её в план.
  • Спринт-доска: новый трёхрядный макет с осью времени — все операторы видны одновременно, прокрутка только при необходимости.
  • Спринт-доска: блоки задач на сетке окрашены по статусу задачи — легче читать текущее состояние без открытия карточки.
  • Спринт-доска: в список операторов попадают только активные пользователи Redmine.
Что нового в релизе от 15.04.2026 09:02
  • Изображения-вложения открываются в полноэкранном просмотрщике — больше не нужно переходить в браузер.
  • Номера комментариев (#N) кликабельны: нажатие прокручивает к нужной записи и подсвечивает её.
  • Ссылки на задачи Redmine в тексте комментариев открываются прямо в Redmine Manager'е, в том числе с переходом к конкретному комментарию.
  • Цитирование в комментариях (строки с «>») отображается визуальным блоком — читать ответы стало удобнее.
  • Выпадающий список статуса окрашивается под цвет выбранного статуса при редактировании задачи.
  • Уточнены цвета статусов: «Обратная связь» — серый; «На тестирование» / «Демонстрация» — жёлтый; «На доработку» остался красным.
  • Чекбокс «Приватный комментарий» переименован в «Комментарий для клиента» и выделяет поле красной рамкой при включении.
  • Поля Проект / Трекер / Статус в карточке задачи объединены в одну строку — форма стала компактнее.
  • Просрочка в закрытой задаче теперь показывается относительно даты закрытия, а не сегодняшнего дня.
  • Новый раздел «Спринты» (alpha): планирование задач по разработчикам на текущую неделю с drag-and-drop по дням и просмотром версий.
Что нового в релизе от 14.04.2026 14:00
  • в недельном календаре появилась линия, которая показывает текущее московское время — сразу видно, в каком временном слоте вы находитесь прямо сейчас.
  • в форме редактирования задачи можно выбрать сразу несколько файлов и добавить каждому своё описание — больше не нужно сохранять задачу отдельно для каждого вложения.
  • в карточке задачи поле «Версия» теперь показывает, сколько времени осталось до дедлайна версии — цветовой индикатор (зелёный / оранжевый / красный) даёт мгновенное понимание ситуации.
  • для закрытых задач скрыты кнопки назначения дат и заблокировано изменение «Времени к выполнению» — случайно поправить дату у уже закрытой задачи больше не получится.
  • при выборе нового временного слота старая дата помечается зачёркнутым «← Было» — сразу видно, что именно вы меняете, до нажатия «Сохранить».
  • при смене проекта в форме создания задачи список трекеров автоматически обновляется — показываются только те, что доступны в выбранном проекте, а исполнители сортируются по алфавиту.
Что нового в релизе от 14.04.2026 12:34
  • кнопки навигации, виджет фокуса и меню пользователя теперь распределены по трём зонам — больше не «съезжают» при изменении размера окна.
  • кнопки «Тема», «Что нового» и «Выйти» убраны из шапки и собраны в выпадающее меню по клику на имя пользователя — шапка стала компактнее.
  • в поле пароля появился значок 👁 — можно проверить, что введено, не перепечатывая заново.
  • рядом с фильтрами теперь показывается количество задач после применения фильтра, а кнопка «+ Задача» перенесена туда же — всё управление задачами в одном месте.
  • история изменений разбита на страницы по 3 релиза — прокрутка стала короче.
  • заблокированные и удалённые пользователи больше не попадают в список операторов при переключении — список стал чище.
Что нового в релизе от 14.04.2026 11:33
  • появилась кнопка ⬇ рядом с полем «Тема для пользователя» — она автоматически подставляет туда название задачи, чтобы не вводить одно и то же дважды.
  • в выпадающем списке статусов отображаются только те варианты, на которые вы реально можете перевести задачу — лишних пунктов больше нет.
  • список операторов в шапке теперь работает для всех пользователей, а не только для администраторов — формируется из участников ваших проектов.
Что нового в релизе от 14.04.2026 09:58
  • добавлены варианты «Ежеквартально» и «Ежегодно» для регулярных задач — теперь можно настроить задачи, которые нужно повторять раз в квартал или в год.
  • даты при переносе регулярных задач рассчитываются корректно в конце месяца — больше не будет ошибок с 31-м числом или февралём.
  • виджет «Чем заниматься сейчас» теперь правильно сигнализирует о входящих задачах — раньше он мог показывать «ВСЁ ОК», когда необработанные задачи на самом деле были.
Что нового в релизе от 14.04.2026 02:40
  • при сохранении задачи можно прикрепить файл прямо из окна редактирования — без перехода в Redmine.
  • задачи на доске, в замечаниях и в виджете фокуса теперь сортируются по приоритету — срочные и немедленные идут первыми, просроченные — выше свежих.
  • срок просрочки теперь рассчитывается по запланированной дате из календаря, а не по стандартному сроку задачи — порядок стал точнее.
  • если вы сохраняете задачу, которая не совпадает с рекомендацией виджета фокуса, в правом верхнем углу появляется подсказка с номером рекомендованной задачи — исчезает через 9 секунд.
Что нового в релизе от 13.04.2026 21:32
  • форма создания задачи переработана — теперь выглядит и ведёт себя так же, как окно просмотра задачи.
  • блок «Время к выполнению» вынесен наверх формы и зеленеет после выбора — сразу видно, назначено ли время.
  • обязательные поля теперь отмечаются красной рамкой — заметнее и чище.
  • в форме подзадачи отображается название родительской задачи — сразу понятно, к чему создаётся подзадача.
  • добавлено поле «Куратор» — появляется в форме создания и в карточке задачи, если проект его поддерживает.
  • в календаре теперь видны задачи, в которых вы наблюдатель — отображаются серым цветом.
  • добавлена кнопка «?» с объяснением, какие задачи попадают в календарь — больше не нужно догадываться.
Что нового в релизе от 13.04.2026 17:03
  • добавлен переключатель темы — выбор сохраняется между сессиями, при следующем входе тема восстанавливается автоматически.
  • при загрузке страницы больше нет вспышки белого фона перед применением тёмной темы.
  • список проектов в форме создания теперь иерархический — подпроекты видны в структуре, найти нужный стало проще.
  • следующая регулярная задача теперь создаётся от запланированной даты выполнения, а не от фактической даты закрытия — расписание не сбивается, если задачу закрыли с опозданием.
  • если следующая дата уже прошла, система автоматически сдвигает её до первой будущей — задача не создаётся «в прошлом».
  • закрытие задачи через дашборд теперь тоже запускает создание следующей.
  • отмена диалога закрытия больше не меняет статус задачи.
Что нового в релизе от 13.04.2026 14:27
  • многодневные задачи теперь корректно переносятся на следующий день — если задача не умещается до 18:00, остаток начинается с 09:00 следующего дня.
  • просроченные задачи (до 5 штук) теперь закреплены в верхней части календаря и всегда на виду — отсортированы по приоритету.
  • в подсказке к блоку задачи теперь виден приоритет.
  • в пикере выбора времени можно выбирать получасовые слоты (:00 и :30) — планировать стало точнее.
  • окно выбора времени задачи стало крупнее — работать в нём удобнее.
  • карточки на доске теперь фиксированной высоты, колонки прокручиваются независимо — доска не «прыгает» при разном количестве задач.
  • список пользователей в диалоге создания подзадачи отсортирован по алфавиту — нужного сотрудника теперь легче найти.
Что нового в релизе от 13.04.2026 02:41
  • при создании следующей регулярной задачи незакрытые связанные задачи автоматически переносятся в новую — не нужно перевязывать их вручную.
  • если система не смогла создать следующую задачу, теперь показывается диалог с объяснением причины — раньше это происходило молча.
  • устранена ошибка при сохранении задачи, когда дата начала расходилась с датой выполнения — даты теперь выравниваются автоматически.
Что нового в релизе от 13.04.2026 00:35
  • номера подзадач и связанных задач теперь окрашены по статусу — сразу видно, закрыта задача или ещё в работе.
  • связанные задачи стали кликабельными — можно открыть любую прямо из карточки.
  • добавлены поля «Дата начала» и «Срок завершения» — просроченный срок подсвечивается красным.
  • поля «Автор», «Создана», «Дата начала» и «Срок» объединены в компактные строки — карточка стала короче.
  • в форму создания добавлены поля «Дата начала» и «Срок завершения», для выбора используется удобный пикер.
  • направление связи между задачами («скопирована из» / «скопирована в») теперь отображается корректно.
  • при открытии карточки вместо спиннера показывается скелетон-заглушка — загрузка выглядит плавнее.
Что нового в релизе от 12.04.2026 16:25
  • выполненные задачи теперь отображаются в календаре зелёным цветом с зачёркиванием — сразу видно, что задача закрыта.
  • в пикере выбора времени задачи больше не дублировались в каждом часовом ряду.
  • после сохранения времени задачи баннер в карточке сразу показывает актуальное время — раньше он не обновлялся.
  • родительская задача в заголовке карточки стала кликабельной — можно перейти к ней и вернуться назад.
  • комментарии обновляются сразу после добавления — больше не нужно перезагружать карточку.
  • убрано дублирующее поле даты в карточке — дата выполнения управляется только через баннер вверху.
Что нового в релизе от 12.04.2026 15:10
  • календарь теперь открывается на текущей неделе — не нужно переключаться вручную после каждого входа.
  • задачи, которые пересекаются по времени, теперь отображаются рядом стопкой и остаются кликабельными — раньше они могли перекрывать друг друга.
  • в подсказке к задаче теперь объясняется, почему она считается просроченной.
  • оранжевым цветом теперь выделяются только задачи без назначенного времени и оценки — цветовая сигнализация стала точнее.
  • список исполнителей в задаче теперь показывает только активных участников текущего проекта — меньше лишних имён.
  • при копировании задачи автоматически создаётся связь «скопирована в» — не нужно добавлять её вручную.
  • при открытии дашборда сразу показываются задачи текущего пользователя — раньше по умолчанию открывался первый пользователь в списке.
?
Как работает спринт-процесс

1. План недели (понедельник). Руководитель размещает задачи на канбан-доске, распределяет по разработчикам на дни и часы. Пока это «черновик» — жёлтая плашка «План (черновик)».

2. Фиксация. После обсуждения с командой жмёте «🔒 Зафиксировать спринт». Автоматически:
  • задачи попадают в историю sprint_items;
  • в Redmine у каждой проставляется месячная «Версия» (по due_date понедельника недели);
  • появляется зелёная плашка «Спринт зафиксирован».

3. Повторная неделя. Если задача не закончена, она появляется в плане следующей недели. На карточке виден бейдж «N×» — сколько раз уже была в спринте. В тултипе — «доработка» или «простой» для каждого повтора.

4. «Прошлый спринт не добит». Если у части задач прошлого зафиксированного спринта не подведён итог — висит баннер с кнопкой «Подвести итог». Правила простановки итога: закрыта в Redmine ИЛИ на тестировании/ревью (разработчик свою часть сделал) → «Выполнена»; остальные открытые → «Перенесена». Если не нажать — со вторника новой недели итог проставится автоматически воркером sprint-auto-resolve (ПМ имеет весь понедельник на ручной разбор).

5. Аналитика. На третьей вкладке видно: кто сколько задач сделал, какие «кочуют» ≥3 спринтов (жирный сигнал), план vs факт.
Загрузка…
?
Термины
Версия — группа задач за месяц (в Redmine это «Версия» проекта «Учёт 2.0», именование «YYYY/MM/DD» с датой сдачи в последний день месяца). За период версии Jenkins выпускает несколько релизов.
Релиз — промежуточная тестовая сборка Jenkins, опубликованная в новостях проекта «Учёт 2.0». Её проверяет тестировщик и раскатывают клиентам волнами.
Волна раскатки — точечное обновление: выбранным клиентам через API InfoAS назначается оперативная сборка этого релиза (перекрывает штатную сборку их ветки в программе учёта). Раньше делалось руками в админке InfoAS, теперь — одним действием из RM.

Как работает выдача релизов

1. Автоматическое получение релизов из Jenkins. Раз в 10 минут система читает новости проекта «Учёт 2.0», находит очередной релиз (заголовок новости вида «Промежуточная тестовая сборка x64 DD.MM.YYYY HH:MM:SS,cc») и добавляет его в список ниже. Одноимённые x32-новости пропускаются, чтобы не дублировать один и тот же релиз. Релиз автоматически попадает в месячную версию, соответствующую дате его выпуска.

2. Состав релиза. У каждого релиза под шапкой сразу виден список задач — это собственный состав (тикеты из тела новости Jenkins именно этого релиза), со счётчиком в заголовке. Кнопка «+» в заголовке состава расширяет его до накопительного итога: этот релиз + все задачи более ранних релизов в этой же месячной версии (без дублей по id). Источник id — тело новости Jenkins, фильтра по «Версии» задачи нет: поэтому в накопительном составе могут оказаться тикеты и из более ранних месячных версий — например, когда баг чинили дольше месяца и id попал в новость релиза следующего месяца. В режиме накопительного итога одновременно раскрыт может быть только один релиз — раскрытие другого автоматически свернёт текущий до собственного состава.

3. Признак важности релиза. Рядом с вердиктом тестировщика может появиться плашка ✅ Важная / ⚠️ Критично / ❌ Блокирует. Источник — поле «Блокирует» (CF19) у задач в составе релиза. Логика наследования:
  • Важная / Критично — окно от релиза, в новость которого впервые попал тикет, до конца версии (всех более поздних релизов).
  • Блокирует — окно от релиза, указанного в поле «Версия экземпляра» (CF21) у тикета, до релиза, в котором тикет был закрыт (если ещё не закрыт — до конца версии).
Уровни агрегируются как максимум: «Блокирует» побеждает «Критично», «Критично» побеждает «Важная». В тултипе плашки виден список задач-источников.

4. Вердикт тестировщика. Сотрудник с ролью «тестировщик» (флаг в разделе «Сотрудники») жмёт «🟢 жив» или «❌ не жив» на карточке релиза — решение одноразовое. Как только релиз появился в списке, тестировщику автоматически создаётся задача в Redmine с напоминанием; после вердикта задача закрывается сама. Напоминания заводятся только для релизов в открытых месячных версиях.

5. Волны раскатки. Доступны только для релизов со статусом «жив» и без блокировок. ПМ жмёт «➕ Новая волна» и видит кандидатов — клиентов, чьи задачи фактически собраны в кумулятивной сборке версии (а не «по плану» Redmine), за вычетом уже обновлённых. Снимает галки у тех, кого пока не включает; они останутся в списке следующей волны. Что именно делает волна — см. блок «Создание волны раскатки» ниже.

6. Блокировки. Раз в 15 минут система обновляет список блокирующих тикетов (поле «Блокирует» на задаче + «Версия экземпляра» как точка обнаружения). Релиз считается «непригодным», если есть активный блок, у которого «Версия экземпляра» не позже даты релиза. Пока блок не закрыт, кнопка «Новая волна» на таком релизе отключена.

7. Проблемные клиенты. Вкладка показывает: по каждому открытому блокирующему тикету — релизы, попавшие в окно блокировки, и клиентов, которые сейчас на этих релизах (данные из Базы InfoAS). После закрытия блока этих клиентов обновляют в первую очередь.

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

Что делает волна. Три действия — одно базовое и два опциональных:
  • Назначить оперативную сборку клиенту через API InfoAS — выполняется всегда. RM группирует выбранных клиентов по битности их ветки (x32 / x64) и делает до двух вызовов POST /rm/setoperversion; Linux-файлы (fx_nix/service_nix) уходят в обе группы.
  • ☐ Создать тикет на саппорт (галка) — на каждого успешно обновлённого клиента заводится задача в трекере «Поддержка» проекта inventory_2_0. После раскатки СТП обязательно проставляет «Результат раскатки» (CF32): ✅ Успешно / ❌ Сообщил о проблеме / ❓ Нет ответа. Без CF32 задачу закрыть нельзя — закроете без него, она автоматически вернётся в работу.
  • ☐ Отправить сообщение клиенту в программу учёта (галка) — invmessage с темой и списком доработанных обращений + AI-блок «что реализовано». Можно сгенерировать черновик и отредактировать, либо оставить поле пустым (тогда сработает автогенерация per-group: разным группам кандидатов с одинаковым набором задач уйдёт своё сообщение). При повторе волны invmessage второй раз не отправляется — чтобы клиент не получил дубль.

Файлы сборки (file_id). В блоке «🔒 Файлы сборки» модалки — 6 выпадашек по парам Win×{x32,x64}×{FX,Service} + Unix×{FX,Service}. Опции тянутся из InfoAS_FX_data.invFiles через мастер-БД: каждая опция вида «дд.мм.гг чч:мм · имя файла (#id)». Первая опция всегда «(не привязывать)» — для платформ, на которые сборка не выпускалась. Один раз сохранили — для следующих волн этой же сборки форма свёрнется в строчку «✓ Файлы привязаны: …». Битность вручную не выбирается: RM сам разделяет кандидатов по битности их ветки и подсунет нужный файл.
Если мастер-БД недоступен (креды MASTER_DB_* не настроены / VPN отвалился) — форма деградирует на старые числовые input'ы; источник id — PHP-админка InfoAS (раздел «Версии Учёт 2.0» → вкладка «Файлы»).

Список кандидатов: плашки.
  • 🟧 «уже есть оперативная» — у клиента уже стоит оперативная сборка от прошлой раскатки. В тултипе плашки видны её версия и комментарий. Новая волна перезапишет её.
  • 🟡 «уже в #N» — клиент был в одной из предыдущих волн этой же сборки. Можно повторить — обычно нужно при негативном feedback.
  • ⚪ «битность не подходит» — у клиента x32-ветка при x64-сборке (или наоборот). В волну не попадёт, даже если оставить галку.
  • ⚪ «не СУ» — у пользователя нет признака «учётная установка» (isUnit≠1), оперативная сборка ему не нужна.
Цвет строки тикета — по статусу Redmine (зелёный закрыт, синий в работе, красный на доработке, жёлтый тестирование).

Петля обратной связи (если включена галка «тикет на саппорт»). Раз в 5 минут синк подбирает закрытые саппорт-задачи и переносит CF32 → release_rollout_targets.feedback. На карточке волны у клиента появляется бейдж ✅/❌/❓. Клиенты с «❌ Сообщил о проблеме» остаются в кандидатах для следующей волны этого же релиза; клиенты с «✅ Успешно» — исключаются.

Требование к учётной записи RM. У сотрудника, создающего волну, в карточке должно быть заполнено поле «Логин в Админке InfoAS» — RM подставляет его в actor_user_id при вызове API. Без него API откажет; в карточке сотрудника подсвечивается плашка «⚠ не задан — нужен для создания волн раскатки».

Чек-лист перед «Создать волну»
  ✓ Релиз помечен 🟢 «жив», на карточке нет плашки ❌ Блокирует.
  ✓ Заполнены 4 file_id (или они уже сохранены от прошлой волны этой же сборки).
  ✓ В списке кандидатов сняты галки у тех, кого не включаем сейчас.
  ✓ Решено, нужны ли «тикет на саппорт» и «сообщение клиенту» — галки выставлены.
  ✓ Если включено сообщение — текст черновика проверен (или поле оставлено пустым для автогенерации).

Если что-то пошло не так
  • Кнопка «➕ Новая волна» неактивна — релиз не «жив» или у него есть открытый блокирующий тикет.
  • Клиент пропущен с bitness_mismatch — битность файлов не совпала с веткой клиента. Защита по делу: дождётся подходящей сборки.
  • Клиент пропущен с not_a_su — это «заказ»-пользователь, не СУ.
  • Клиент с error — API InfoAS вернул ошибку. Текст — в плашке у клиента. Самая частая причина: file_id указан несуществующий или с неверной битностью.
  • AI-описание не уходит в invmessage — сработал стоп-фильтр («ошибка», «проблема», «баг», «инцидент», «нарушение», «исправление»). Сгенерируйте черновик заново или напишите вручную.
  • Хотите повторить отправку invmessage — создайте новую волну. В существующую дубль не уйдёт.
  • Кнопки 🐞 Проверить AI-тему / 🐞 Проверить AI-описание в подвале модалки прогоняют генерацию для первого отмеченного кандидата без отправки в Redmine — полезно проверить, не выдаст ли модель странное.
?
📊 Раздел «Метрики»

🎯 Как этим пользоваться — главное

Графики здесь — не источник знаний о проекте, а сверка. Знания о том, что у клиентов медленно, что им мешает, что они говорят саппорту — вы получаете от живых людей: от клиентов напрямую, от коллег СТП, от менеджеров. Графики только подтверждают (или опровергают) то, что вы и так знаете.

Если график показывает то, что вы ожидаете увидеть — значит, у вас выстроен процесс управления, вы держите проект в руках. Это и есть цель раздела: пара минут на обзор, сверка картины.

Если график расходится с тем, что вы знаете от клиентов и коллег — это сигнал не о метрике, а о вашем процессе. Значит:
  • у вас не настроена коммуникация с клиентами (узнаёте о проблемах постфактум по графику);
  • или СТП не доносит до вас, что слышит от клиентов;
  • или фильтр «значимого» сместился, и в фокусе оказываются не те проблемы.
В этом случае работайте над процессом и каналами связи, а не над разбором графиков. График — лишь термометр, а лечится не он.

Иными словами: график подтверждает ваше управление, а не заменяет его. Пары минут в день достаточно.


Что считается. 6 ключевых пользовательских операций ФармЭксперта (старт программы, обновление каталога — лёгкое и тяжёлое, журнал накладных, продажа в кассе, очистка экрана после продажи). Для каждой считается взвешенное среднее по всем СУ: вес = число замеров, чтобы СУ с 10 000 нажатий учитывалось сильнее, чем СУ с 10.

Источник. Таблица InfoAS.fx_metrics на slave-MySQL. Клиент ФармЭксперта пишет длительность операций локально, агрегирует посуточно и раз в день отправляет на сервер. Сегодняшнего дня на графике нет — данные появятся завтра.

Фильтры от шума. Замеры ≥ 86 000 000 мс (≈ 24 ч) отсекаются — это зависания/свёрнутые окна, у которых таймер продолжал тикать. Строки с < 5 замеров игнорируются. Фильтра по числу СУ нет — релизы катаются поштучно, даже единичные клиенты важны.


📦 Режим «По релизам» (по умолчанию)

Ось X — календарь, но точки только на датах сборок: одна точка = один релиз. X-координата точки — дата её первого замера в окне (когда сборка реально пошла в парк, а не дата компиляции). Над точкой подписано число СУ. В этом окне отображаются только сборки, выпущенные в выбранном периоде — старые билды на «клиентах-зависанцах» сюда не попадают.

Hover точки показывает: версия сборки, первый замер, weighted-avg, число замеров, число СУ. Точки выше нормы — оранж, выше тревоги — красные.

Сравнение пары версий. Сверху раздела два дропдауна «Сравнить: A → B». По умолчанию — последние две сборки. На каждой карточке справа появятся значения метрики для A и B и Δ B−A. На графике обе точки подсвечены кольцом: A синим, B фиолетовым. Кнопка ✕ сбрасывает выбор и возвращает обычный «7д» базелайн.


📅 Режим «По дням»

Ось X — календарь, точка на каждый день замера. Серые вертикали — отметки появления сборки в парке: X-координата вертикали = первая дата замера соответствующего билда (то же значение, что и у точек в режиме «По релизам»). Это не дата компиляции и не дата раскатки из админки, а «когда мы впервые увидели сборку в fx_metrics». На hover — версия и сколько СУ накопилось за окно.

Зачем они тут: дневная линия + вертикали = одним взглядом видна корреляция «после появления сборки X avg прыгнул». Без вертикалей пришлось бы переключаться в режим «По релизам» и искать соответствующую точку.

Полезно, когда подозреваешь внешний фактор:
Просадка в выходные / в воскресенье — у аптек обычно меньше операций, средний avg может скакнуть от 2-3 шумных СУ.
Резкий обвал по всем метрикам в один день у одного региона — вероятно, проблемы со связью у клиентов, не наш код.
Несколько дней без изменения между релизами — стабильность билда под нагрузкой парка.


Справа сверху карточки

Без сравнения = взвешенное среднее за последние 7 календарных дней по всему парку. Рядом ±N% — отклонение от предыдущих 7 дней (8–14 дн. назад). Красное = деградация, зелёное = улучшилось. Календарное окно: «как сейчас работает парк в среднем», смешано по всем активным сборкам.

С активным сравнением «A → B» — вместо «7д» показывается значение A, значение B и Δ B−A. Это уже точная оптика «билд X vs билд Y», а не среднее по парку.


На что смотреть и какие выводы

1. Скачок ВВЕРХ от точки к точке в режиме «по релизам» — самый прямой сигнал регрессии в конкретной сборке. Сборка A на норме, следующая сборка B в оранже/красном — в B что-то сломали по производительности. Используй сравнение «A → B», чтобы увидеть Δ по каждой метрике сразу. Открывай состав релиза («Версии и релизы» → B), смотри тикеты.

2. Линия плавно ползёт вверх без скачков между релизами — деградация не от кода, а от профиля данных. Каталог разросся, накладных стало больше, БД клиента распухла. Лечится не релизом, а оптимизацией запроса/ индексами. Если рост идёт по loadFullCatalog и WaybillJournal::activate одновременно — точно «БД клиентов».

3. Точка ВЫШЕ тревоги (красная) — приоритет на фикс. Норма/тревога подобраны так, что выше тревоги = операция мешает работать пользователю (касса > 4 с — клиент в аптеке уже ушёл). Если красное держится несколько сборок — нужен hotfix.

4. Релиз с малым числом СУ (1–10) показывает «оранж» — не паникуй. Над точкой подписано число СУ. Если оно единицы, среднее тянет пара медленных клиентов с слабым железом. Жди раскатки на больший парк — следующая точка покажет реальную картину.

5. Блок «🐌 Проблемные СУ» (свёрнут под графиками). Топ-10 СУ с avg ≥ 3× от парка.
 • Один логин в нескольких метриках = проблема в этой точке (железо, сеть, антивирус). Передавать админам клиента.
 • Разные СУ в каждой метрике = операция тяжёлая, кандидат на оптимизацию.
 • СУ с avg в десятки секунд у loadFullCatalog = у клиента жирный каталог или слабое железо. Фильтр уже отсёк зависания (≥ 24 ч), но 1–5 минут на загрузку — «работает, но мучительно».

6. График пустой — slave-MySQL недоступен (VPN, креды) либо в окне нет данных, прошедших фильтр. Период обычно лечит: 4 нед. → 12 нед.


Чего НЕ делает этот раздел
• Не показывает P95/P99 — в источнике только avg. Точечные жалобы «один раз 30 секунд тормозило» сюда не попадут, идти в support-тикет.
• Не алёртит сам — нужно глазами заходить и смотреть. Автоматическое создание warning'ов по регрессии — возможное расширение.
• Не различает «наш билд» / «левую сборку» — все даты сборок из fx_metrics равны.
Не заменяет общения с клиентами и СТП. Если узнаёте о проблеме из графика первым — у вас сломался процесс коммуникации, см. блок «🎯 Как этим пользоваться» в самом начале.
Месячные версии
Загрузка…
Выберите версию слева
🎯 Эффективность сотрудников
Загрузка…
👥 Сотрудники
Одноразовая синхронизация тикетов из проекта «vacation». Автоматически выполняется раз в час в фоне. Вытягивает значения CF/11 из Redmine и добавляет новые в expertise_topics. В современных Redmine REST API не отдаёт справочник CF — в этом случае ошибка, и работа с темами ведётся только в Redmine Manager'е, а контроль синхронизации поднимает тикет на ответственного. Обратная синхронизация (добавление новых тем в CF/11) выполняется автоматически при нажатии «+ Новая тема» в карточке сотрудника.
Загрузка…
Выберите сотрудника слева
🏛 Структура команды ?
Что это
Орг-иерархия команды, построенная автоматически из полей сотрудников.

Как читать
• Вверху — управляющий партнёр (или плейсхолдер «не назначен»).
• Под ним — сотрудники «без отдела»: задачи с их участием эскалируются сразу на партнёра.
• Ниже — отделы. Цветная шапка = цвет отдела (задаётся в карточке сотрудника → «Отдел» → иконка палитры).
• Над списком сотрудников отдела — руководитель со значком ★. Если руководителя нет — это видно.

Значки на плашке
• «П» — управляющий партнёр.
• «★» — руководитель отдела.
• «!» в красном круге — сотрудник не привязан к отделу; назначьте отдел в карточке.

Клик по плашке — откроет карточку сотрудника во вкладке «Сотрудники».

Правки иерархии делаются только в карточке сотрудника, здесь её только видно.
Загрузка…
🔐 Доступы ?
Что это
Единый инвентарь аккаунтов во всех внешних системах: Redmine, amoCRM, VPN, VM, почта, АТС, мессенджер, CRM — и далее по мере подключения. Одна строка = один аккаунт в одной системе.

Зачем
• Исключить утечку доступов после увольнения (видно, что у деактивированного сотрудника остались активные учётки).
• Исключить «орфан-доступы» — аккаунты в системе без владельца в Redmine Manager'е.
• Служебные аккаунты (автотикеты, деплой-боты) ведутся явно, с ответственным.

Состояния
Не привязан — аккаунт не связан ни с сотрудником, ни с «служебный»-флагом. Надо классифицировать.
Утечка — сотрудник деактивирован, но аккаунт в системе активен.
Служебный — аккаунт без живого сотрудника, у него есть ответственный.
Отозван — учётки в системе-источнике больше нет (удалена или заблокирована). Плашка остаётся как история доступа; после следующей автосверки перейдёт в это состояние сама.

Сверка автоматическая — раз в час для каждой включённой в «Настройки → Контроль интеграций» системы. Расхождения → тикет на ответственного, ворнинг ждёт закрытия тикета.
Загрузка…
🏭 Производственный календарь ?
Производственный календарь загружается из isdayoff.ru.

Порядок работы с дежурствами:
1. Нажмите «📥 Загрузить из isdayoff.ru» — календарь заполнится праздниками на год.
2. В таблице под календарём укажите количество дежурных на каждый праздничный день. Ориентируйтесь на колонку «Обращения за прошлый год».
3. За 21 день до каждого праздника автоматически создаётся задача в Redmine на руководителя отдела поддержки со статистикой обращений. Окно в 21 день — чтобы вся череда праздников (например, новогодние 1–8 января) попала в одну партию задач.
4. Руководитель назначает дежурных на вкладке «🔧 Дежурства».
5. В календаре праздничные дни показывают бейдж назначено/требуется: 🔴 красная рамка — не хватает, 🟢 зелёная — норма.

📅 Все нерабочие дни подсвечиваются в спринт-доске.
📊 Табель учитывает рабочие дни, дежурства, отпуска, больничные и отгулы.
?
Проверка автозадач на дежурства

Просматривает все праздничные дни в ближайшие 21 день и для каждого, на который ещё не была создана задача, заводит в Redmine задачу:

Тема: «Составить график дежурств на DD.MM.YYYY»
Проект: Общий (RM_OVER_PROJECT)
Назначена на: руководителей отделов, у которых включён флаг «Дежурства» (см. «Сотрудники → Отделы»). По умолчанию флаг включён только у «Техподдержки» — прочим отделам автотикеты не создаются. Если руководителей таких отделов нет — в журнал предупреждений попадёт запись «Нет ответственного за дежурства».
Начало выполнения: день срабатывания проверки (today).
Срок (due_date): за день до ближайшего праздника в окне проверки. Для всей цепочки праздников — общий: весь блок надо спланировать до начала первого из них.
В описании: статистика обращений за этот же день годом ранее (проект inventory_2_0, трекер «Поддержка»)

Окно в 21 день нужно, чтобы вся череда праздников (например, новогодние 1–8 января) попадала в одну партию задач — руководитель планирует график сразу на весь блок.

Повторные запуски безопасны: на каждый праздник задача создаётся только один раз (лог в duty_task_log). Автоматически запускается раз в сутки фоновым потоком; эта кнопка — ручной триггер.
📅 Мой Google Calendar
Подключение (один раз, ~2 минуты)
  1. Открыть calendar.google.com под тем Google-аккаунтом, в чей календарь хотите получать задачи (если у вас несколько — переключиться через аватар справа сверху). Слева: «Другие календари» → + → «Создать новый календарь». Назвать «Redmine» (или любое имя) → «Создать календарь».
    Через несколько секунд календарь появится слева в разделе «Мои календари» (не «Другие»). Если его не видно — обновите страницу (F5).
  2. В разделе «Мои календари» навести мышь на «Redmine» → → «Настройки и общий доступ». На странице найти раздел «Предоставить доступ отдельным пользователям и группам» → «Добавить пользователей». Вставить этот email:
    Разрешение — «Вносить изменения в мероприятия» (не «Только просмотр»). Нажать «Отправить».
  3. На той же странице прокрутить вниз до раздела «Интеграция календаря» → скопировать «Идентификатор календаря». Вставить ниже и нажать «Проверить и сохранить».
    ⚠ Это не email бота из шага 2. Идентификатор — длинная автогенерированная строка вида 7ed9a0...@group.calendar.google.com. Он есть только у созданных вами календарей и нигде, кроме раздела «Интеграция календаря», не показывается.
Настройки
Последняя синхронизация: —
Как убедиться, что работает
  1. После «Проверить и сохранить» под полем должна появиться зелёная галочка «Доступ есть». Если красная ошибка — Google вернул причину (404 — не тот ID, 403 — не выдали права «Вносить изменения», и т.п.).
  2. Включить переключатель «Синхронизация» и нажать «Синхронизировать сейчас». После — обновить страницу; в строке «Последняя синхронизация» появится время и ошибка (если была).
  3. Открыть calendar.google.com. В левой панели «Мои календари» снять галочки со всех календарей, кроме «Redmine». На сетке появятся события вида #<id> Тема задачи на дни/часы из поля «Дата для выполнения» (CF10).
  4. Если событий нет, а ошибки тоже нет — значит у вас сейчас просто нет открытых задач, в которых вы исполнитель и заполнена CF10. Это нормально: синк работает вхолостую и подхватит первую же подходящую задачу. Чтобы убедиться — поставьте на любую свою задачу CF10 и нажмите «Синхронизировать сейчас» ещё раз.
Синхронизируются открытые задачи, где вы исполнитель и заполнено поле «Дата для выполнения» (CF10). Закрытые задачи автоматически удаляются из Google. Напоминания срабатывают по вашим настройкам Google Calendar (обычно за 10 минут до события). Цвет события зависит от приоритета задачи (срочные — красные, высокие — оранжевые, низкие — серые). Длительность — 1 час, если в CF10 указано время; если только дата — событие на весь день.
⚙ Интеграции
?
Контроль интеграций — общий механизм проверки синхронизации данных между Redmine Manager'ом и внешними системами (Redmine, amoCRM, База InfoAS, …).

Как это работает:
1. Для каждой интеграции назначается ответственный — он получает автотикеты в Redmine при расхождениях.
2. Раз в час (и по кнопке «Проверить» у конкретной интеграции) выполняется проверка. Временные сбои допускаются — тикет создаётся после 3 подряд провалов.
3. При расхождении/сбое: в проекте «Общий» (служебный идентификатор over, трекер «Ошибка») создаётся задача на ответственного, а в журнале предупреждений появляется запись, привязанная к этой задаче.
4. Предупреждение закрывается ТОЛЬКО автоматически — когда ответственный закроет Redmine-тикет. Ручное закрытие заблокировано.

При подключении новой интеграции её обязательно нужно здесь регистрировать (см. services/integration_sync.py).
📋Redmine
URL
Пользователь
🤖AI API
URL
Модель
📝Валидация оформления задачи ?
Что это
AI (локальная Qwen 3.5-4B) проверяет черновик задачи на соответствие регламенту компании. Не генерирует текст — только оценивает наличие обязательных элементов и подсказывает, чего не хватает.

Где запускается
В модалке «Создать задачу» (например, при создании связанного тикета из Поддержки) — кнопка «🧠 Проверить по регламенту». Результат — зелёная/жёлтая/красная плашка над футером. Сохранение задачи не блокируется.

Как настроить регламент
1. Нажмите «⬇ Загрузить из Redmine wiki» — скачает текст с указанной страницы.
2. Отредактируйте в textarea как нужно (AI даёт лучший результат на компактном машиночитаемом тексте).
3. Нажмите «💾 Сохранить» в шапке страницы.
Источник регламента (Redmine wiki)
Проект wiki Страница
Регламент (предоставляется AI вместе с черновиком тикета)
📝AI · Промпты ?
Что это
Реестр всех промптов, которыми приложение обращается к локальной AI-модели. Один источник правды — модуль services/ai_service.py; здесь видно, где какой промпт используется и в каком статусе (дефолт/изменён).

Как править
Клик по строке открывает редактор: текст промпта в textarea, кнопки «Сохранить» и «Сбросить к дефолту». Изменения применяются мгновенно — следующий AI-вызов использует новый текст, перезагрузка не нужна.

Inline-редактор
Для быстрых правок промптов конкретного AI-вызова — иконка ⚙ рядом с самой кнопкой (например, в модалке волны раскатки). Открывает редактор сразу со всеми промптами этого вызова (extract + translate).

Категории: release — раскатка релизов (CF3, invmessage); kb — генерация черновиков в карточке задачи; validation — валидация черновика по регламенту.
Название Категория Тип Где используется Статус
Загрузка…
📂База знаний ?Набор текстовых файлов (txt/md/wiki/rst/html), которые AI-модель подмешивает в промпт как дополнительный контекст при генерации черновиков в карточке задачи. Без БЗ AI видит только саму задачу и её diff. С БЗ — ещё и внутренние документы проекта (архитектура, регламенты, терминология) — сгенерированный текст получается «в стиле команды». Режимы: • Локальная (основной) — файлы лежат в папке kb_path на диске приложения. На проде это docker-volume ./wiki_data:/app/wiki_data, содержимое автообновляется на стороне host'а админом. Для dev — разово распаковать папку wiki_data рядом с docker-compose. Воркер не запускается. • FTP (legacy) — фоновой воркер kb-watcher раз в N минут качает файлы по FTP в kb_path, скачивает только изменённые (сверка по размеру). Оставлено для старых установок. В промпт попадают первые ~2000 символов всех текстовых файлов — чтобы не разорвать контекстное окно модели. Бинарные файлы (картинки, pdf) игнорируются. Важно: БЗ и «Регламент» (валидатор оформления задачи) — РАЗНЫЕ сущности. Регламент — это отдельный текст из Redmine-wiki, используется только для кнопки «🧠 Проверить по регламенту». БЗ — для генерации контента.
Режим
FTP-хост
Логин
Пароль
Интервал
...
🗄CRM База данных ?Параметры этой БД правятся только через файл .env на сервере (CRM_DB_HOST / CRM_DB_PORT / CRM_DB_NAME / CRM_DB_USER / CRM_DB_PASS). Почему не editable из UI: в этой БД лежат сами настройки приложения — сотрудники, отделы, интеграции, предупреждения и т.д. Если логин/хост введены ошибочно, Redmine Manager вообще не сможет загрузиться (сломается загрузка конфигурации, которую надо хранить в той же БД) — получится «курица и яйцо». Эта плашка нужна только для видимости «куда и под каким пользователем ходит бэк» и чтобы сразу увидеть ошибку соединения в статусе справа. Диагностика — в логах сервера или подключением mysql-клиентом вручную.
Хост
Порт
База
Логин
Пароль
🗄База InfoAS (slave) ?Параметры этой БД правятся только через файл .env на сервере (SLAVE_DB_HOST / SLAVE_DB_PORT / SLAVE_DB_NAME / SLAVE_DB_USER / SLAVE_DB_PASS). Это slave-реплика основной БД InfoAS на sl1tw.infoas.ru — источник правды по пользователям и клиентам ФармЭксперт (CF#6, плашки в карточке задачи, состав волны раскатки, привязки сотрудников к учёткам). Почему read-only: креды БД — секрет, права на правку только у админа сервера. Если хост/логин неверны, контроль интеграций сам поднимет warning и заведёт тикет на ответственного. Чтобы пофиксить — править .env и рестарт.
Хост
Порт
База
Логин
Пароль
📇amoCRM
ID интеграции
Account ID
Субдомен
API-домен
Токен
Права
Uninstall URL (для поля «Ссылка для уведомления о выключении» в amoCRM)
Секреты задаются в .env (AMO_*)
💬Element Matrix ?Внутренний мессенджер компании. Контроль учётных записей через Synapse admin API: непривязанные аккаунты и активные учётки уволенных сотрудников видны в «Настройки → Доступы». Привязка сотрудник↔MXID хранится в карточке сотрудника (контакт типа «Matrix»), пикер выбирает реальных пользователей из мессенджера — произвольный ввод запрещён. Креды (MATRIX_BASE_URL / MATRIX_ADMIN_TOKEN) задаются только в .env на сервере. При сбое доступа к admin API ответственный получит автотикет в Redmine — назначается ниже.
Внутренний мессенджер (Synapse admin API)
Привязка сотрудник↔MXID — в карточке сотрудника
Расхождения видны в «Настройки → Доступы»
Креды (MATRIX_BASE_URL / MATRIX_ADMIN_TOKEN) задаются в .env на сервере.
🤖Matrix-бот (отправка ЛС) ?Отдельный канал от карточки выше: там Synapse admin API для контроля учёток (read-only), а здесь учётка бота @rm_manager_bot, под которой система шлёт ЛС сотрудникам. Health-check бьёт `/account/whoami` под токеном бота — узнаём о ротации/отзыве до того, как первая попытка отправить ЛС упадёт. Креды (MATRIX_BOT_USER / MATRIX_BOT_TOKEN) задаются только в .env на сервере. Базовый URL общий с админ-клиентом (MATRIX_BASE_URL). Комнаты создаём нешифрованные (E2EE с не-верифицированного устройства приводит к «unable to decrypt» у получателя). Связку получатель↔комната храним в таблице matrix_bot_rooms — при повторных ЛС переиспользуем существующую DM.
Канал отправки ЛС из системы (Client-Server API под токеном бота)
Сценарии отправки настраиваются отдельно — сейчас доступна только тестовая форма
Креды (MATRIX_BOT_USER / MATRIX_BOT_TOKEN) задаются в .env на сервере.
Авторассылка отпусков
Тестовая отправка
🔒VPN-панель (3X-UI) ?Корпоративный VPN на базе панели 3X-UI. Контроль учётных записей: непривязанные клиенты и активные клиенты у уволенных сотрудников видны в «Настройки → Доступы». Идентификатор клиента — поле «email» в 3X-UI (фактически логин-метка, не настоящий e-mail). Привязка сотрудник↔логин хранится в карточке сотрудника (секция «🔒 VPN-доступы»). Креды (VPN_PANEL_URL / VPN_PANEL_USER / VPN_PANEL_PASS) задаются только в .env на сервере. Канал read-only — из RM в панель ничего не пишем; отзыв клиента делает админ вручную в 3X-UI. При сбое доступа к API панели ответственный получит автотикет в Redmine — назначается ниже.
VPN-панель 3X-UI (read-only API)
Привязка сотрудник↔логин — в карточке сотрудника
Расхождения видны в «Настройки → Доступы»
Креды (VPN_PANEL_URL / VPN_PANEL_USER / VPN_PANEL_PASS) задаются в .env на сервере.
🐙Gitea (git.infoas.biz) ?Внутренний git-хостинг исходников. Контроль учётных записей: непривязанные аккаунты и активные у уволенных сотрудников видны в «Настройки → Доступы». Идентификатор аккаунта — числовой id пользователя в Gitea (login можно переименовать — id стабилен). Привязка сотрудник↔аккаунт делается в разделе «Настройки → Доступы → Непривязанные». Креды (GITEA_BASE_URL / GITEA_API_TOKEN) задаются только в .env на сервере. Токен — Personal Access Token со scope `read:admin` (нужен, чтобы /api/v1/admin/users отдавал всех пользователей). Канал read-only — из RM в Gitea ничего не пишем; отзыв учётки делает админ Gitea вручную. При сбое доступа к API ответственный получит автотикет в Redmine — назначается ниже.
Gitea (read-only API /api/v1/admin/users)
Привязка сотрудник↔аккаунт — в «Настройки → Доступы»
Расхождения видны в «Настройки → Доступы»
Креды (GITEA_BASE_URL / GITEA_API_TOKEN) задаются в .env на сервере. Токен — PAT со scope read:admin.
ПClaude.ai Team ?Подписка команды на Claude/Claude Code. Публичного API у Claude.ai Team нет — источник правды это CSV-выгрузка из админки claude.ai (Settings → Members → Export). Заливается вручную владельцем подписки (Primary Owner). После заливки система: • раскатывает строки в external_accounts(system='claude_team'); • в матрице «Доступы» видны непривязанные учётки и утечки (доступ уволенных); • роль (User/Primary Owner/...) и Seat Tier попадают в детали учётки. Если CSV не обновлять > 30 дней — интеграция уходит в сбой и ответственный получает автотикет «обнови выгрузку».
Источник — CSV из claude.ai/admin → Members → Export
Расхождения и роли видны в «Настройки → Доступы»
Свежесть CSV — 30 дней; дальше тикет «обнови»
Загрузка статуса…
ПAnthropic Console ?API-платформа Anthropic (api.anthropic.com) — это ОТДЕЛЬНЫЙ продукт от Claude.ai Team выше. Здесь живут API-ключи для разработки, биллинг по токенам. Сейчас интеграция делает только health-check: раз в 10 минут пингует /v1/models и убеждается, что ключ валиден (read-only эндпоинт, токены не списывает). Если ключ отзовут или хост ляжет — ответственный получит автотикет. ANTHROPIC_API_KEY задаётся в .env. Создать ключ: console.anthropic.com → Settings → API Keys (Standard).
api.anthropic.com — API-платформа Anthropic
Health-check: пинг /v1/models раз в 10 мин
Биллинг по токенам, отдельно от Claude.ai Team
Ключ ANTHROPIC_API_KEY задаётся в .env на сервере. Конкретные сценарии использования (code review PR'ов, AI-валидаторы) обсуждаются отдельно.
DeepSeek API ?AI-провайдер DeepSeek (api.deepseek.com) — отдельная платформа, не связана с Anthropic. OpenAI-совместимый API, биллинг по токенам. Сейчас интеграция делает только health-check: раз в 10 минут пингует /v1/models и убеждается, что ключ валиден (read-only эндпоинт, токены не списывает). Если ключ отзовут или хост ляжет — ответственный получит автотикет. DEEPSEEK_API_KEY задаётся в .env. Создать ключ: platform.deepseek.com → API Keys.
api.deepseek.com — API-платформа DeepSeek
Health-check: пинг /v1/models раз в 10 мин
Ключ DEEPSEEK_API_KEY задаётся в .env на сервере.
Sipuni (телефония) ?Телефония Sipuni. Менеджерам выданы мобильные номера — SIM-карты Sipuni (FMC на базе Билайна), интегрированные с amoCRM. Каждая SIM привязана к учётной записи сотрудника в Sipuni. Контроль идёт по той же схеме, что VPN/SIP/Gitea: метод statistic/operators отдаёт список заведённых учёток (Login = внутренний номер + ФИО), они сверяются с инвентарём доступов. Непривязанная учётка и активная учётка у уволенного сотрудника видны в «Настройки → Доступы» и эскалируются автотикетом. Привязка делается пикером в карточке сотрудника (секция «☎ Sipuni»). Самого мобильного номера SIM метод не отдаёт — контролируем учётную запись сотрудника Sipuni, а не MSISDN. Кнопка «🔌 Проверить API Sipuni» — разовая диагностика: показывает сырой ответ метода (шапку CSV и первые строки). Креды (SIPUNI_API_USER / SIPUNI_API_SECRET) задаются в .env. Берутся в ЛК Sipuni → Интеграции → API.
SIM-карты менеджеров (FMC), интеграция с amoCRM
Контроль учёток как у VPN/SIP/Gitea (по Login)
Привязка — пикер в карточке сотрудника
Креды SIPUNI_API_USER / SIPUNI_API_SECRET задаются в .env (ЛК Sipuni → Интеграции → API). Подпись запроса — md5("user+secret").
🏭isdayoff.ru
Производственный календарь РФ
Праздники подсвечиваются в спринт-доске
Автозадачи на дежурства за 21 день
Табель: дежурства, отпуска, больничные
Воркер сам загружает следующий год, когда покрытие падает ниже 21 дня. Тикет ответственному — только при сбое автозагрузки.
🕒open-meteo
Резолв часового пояса клиента по региону
Источник — geocoding API (бесплатно, без ключа)
Кеш в client_timezones — повторного запроса для известных регионов нет
Используется в форме создания задачи: рядом с каждым выбранным пользователем CF6 показывается его TZ. Тикет ответственному — только при недоступности open-meteo (нормально, что отдельный регион не нашёлся).
📝KB-Updater
Актуализация Базы знаний по реализованным тикетам
Триггер — закрытие спринта (статус→Закрыт/Тестирование в окне недели)
Создаёт задачу в проекте knowledgebase на тех.писателя
Прикладывает ZIP: код+БЗ+методология+тикет
Тех.писатель — сотрудник с галкой «Технический писатель» в карточке. При нескольких — round-robin по нагрузке. Если ни одного — воркер не работает, пока админ не назначит хотя бы одного.
⚠ Журнал предупреждений ?
Журнал предупреждений — список автоматически выявленных проблем. Если запись связана с интеграцией, автотикет уходит на сотрудника, назначенного ответственным за эту интеграцию (раздел выше). Записи без тикета (например, «Нет ответственного за дежурства») требуют ручного разбора и закрываются кнопкой «Решено».

Как работать:
1. Каждая запись — сообщение о конкретной проблеме (например, «Нет ответственного за дежурства»).
2. Прочитайте сообщение и устраните причину — обычно это настройка в разделе «Сотрудники», «Настройки» или в самой задаче.
3. После устранения нажмите кнопку «Решено» напротив записи — она уйдёт в архив.

Положительный результат: пустой список с зелёной плашкой «Нет открытых предупреждений» — система работает штатно, висящих проблем нет.

Дедупликация: пока старое предупреждение не закрыто, одинаковое (с тем же кодом и контекстом) повторно не добавляется — чтобы список не замусоривался.

Предупреждения с тикетом Redmine
Если рядом с кодом виден бейдж «тикет #N» — такое предупреждение связано с Redmine-тикетом и закрывается автоматически при закрытии этого тикета. Кнопка «Решено» для таких записей заблокирована (замок).

Чтобы посмотреть архив ранее решённых предупреждений — поставьте галочку «показать закрытые».
🗺 Маршруты задач ?
Что это
Карта движения задачи по статусам и правила «кому какой переход доступен». Покрывает трекер «Поддержка» проекта Учёт 2.0 и трекеры «Ошибка»/«Улучшение» в проектах из настраиваемого списка (ТЗ #81024).

Два уровня контроля
Грубый каркас «роль × трекер» задан в самом Redmine — он защищает и при работе через нативный интерфейс Redmine. Тонкую проверку делает RM-менеджер на сохранении тикета: роль назначаемого, «только на себя», возврат из обратной связи только тому, кто её запросил, обязательный комментарий при переходах в/из обратной связи, обязательная связь «дублирует» при переводе в «Дубль».

Тумблер «Строгий режим» включает тонкую проверку RM-менеджера: запрещённый переход не сохранится. Выключен по умолчанию — внедрение поэтапное. Переключать может только администратор Redmine. Сам администратор проверку не проходит — он может всё, включая правку закрытых задач.

Маппинг ролей сопоставляет имена ролей в Redmine (admin → Roles) с внутренними ролями (Менеджер / Разработчик / Тестер / Техподдержка / Представитель / Стажёр). Пустой маппинг — используются дефолты по совпадению имени.

Карта снизу показывает все переходы и подсветку «глазами роли», которую вы выберете. Hover по ребру — текст правила.
Карта глазами роли:
Проекты дев-матрицы (identifier через запятую):
Маппинг ролей Redmine → внутренние
Загрузка…
Карта переходов · Трекер
Наведите на узел или ребро, чтобы увидеть правило.
📋 Контроль накладных ?
Что это
Прототип контроля сопоставления колонок входящих накладных (InvControl slave). Источник правды — каталог positionDataType (76 типов) и таблица docFormatColumn (один формат ≈ один поставщик).

Три проверки
Не сопоставлено — колонки, у которых нет positionDataType и за последние N дней были встречены в реальных накладных. Под каждой — top-3 кандидата (имя-регексп / прецедент / профиль значений).
Тип не сходится — колонки уже сопоставлены, но содержимое значений не соответствует ожидаемому kind. Например, «Сертификат Номер» с pdt='code', а в значениях ≥10% длинного текста.
Математика — на накладных с ≥2 строками проверяются арифметические инварианты (count × cost ≈ summa и т.д.). Score ниже порога = одна из колонок Count/Cost/Summa сопоставлена неверно.

Параметры подкручиваются в шапке. Изменения применяются к следующему прогону. Семантика: 10% порог type_mismatch = «если больше 10% значений не подходят — флаг»; 0.95 math score = «если меньше 95% строк сходятся в арифметике — флаг»; 14 дней = окно выборки накладных для сэмплов.

Slave-БД только читаем, в InvControl ничего не пишем. Все правки сопоставления — оператор делает руками в админке ФармЭксперт; сервис подхватит их на следующем прогоне.
Загрузка…
Нажмите «Прогнать» для запуска проверки.
Нажмите «Прогнать» для запуска проверки.
Нажмите «Прогнать» для запуска проверки.
💰 Финансы v1 · FINANCE-PHASE-0
⚠ Замечания по задачам
🎯 ЧЕМ ЗАНИМАТЬСЯ СЕЙЧАС
В виджете наверху указана другая задача. Займитесь:
Разместить в календаре
Кликните на ячейку — выберите начало работы
Загрузка...
📥 Пакет для Claude — что это и как использовать

Что это

Архив для внешнего Claude (claude.ai или Claude Code), на вход которого нужно положить материалы по задаче. На выходе — черновик инструкции «Как это работает» в формате DokuWiki.

Что внутри архива

  • prompt.md — роль технического писателя и правила оформления.
  • methodology/ — 3 wiki-страницы: регламент ведения, управляемая декомпозиция, уровни абстракции (стиль и структура статьи).
  • knowledge-base/ — снимок продуктовой DokuWiki целиком (нужен, чтобы Claude нашёл, есть ли уже статья на эту тему).
  • task.md — тема, описание, комментарии задачи.
  • attachments/ — вложения задачи (скриншоты, ТЗ, примеры файлов) + _index.md с описаниями.

Как использовать

  1. Нажмите «📥 Пакет для Claude» — скачается ZIP. Распакуйте.
  2. Откройте задачу в Redmine → вкладка «Репозиторий» → кнопка скачивания diff'а коммитов по задаче. Сохраните рядом с архивом.
  3. В новом чате Claude приложите распакованный архив и diff. Отправьте такую команду:
Сгенерируй инструкцию «Как это работает». Роль и правила оформления — в prompt.md (раздел System), применяй их дословно. Источники: methodology/ — стиль и структура (стиль соседних статей образцом не считай); knowledge-base/ — продукт (отбирай близкие страницы по ключевым словам, цель — найти, есть ли уже статья на тему); task.md — что просили; attachments/ — вложения, в том числе скриншоты UI; diff — что РЕАЛЬНО изменилось в коде. Формат вывода — двухчастный, как в prompt.md → User: (1) отчёт по базе знаний с вердиктом ДОПОЛНИТЬ / СОЗДАТЬ НОВУЮ / нет аналога; (2) текст инструкции в DokuWiki по структуре Название / Назначение / Применимость / Описание. UI-элементы не выдумывай — если названия кнопки нет ни в task.md, ни в attachments/, ни в diff, верни вопрос разработчику.

Что вернёт Claude

  1. Отчёт по базе знаний — какие существующие страницы близки, вердикт ДОПОЛНИТЬ / СОЗДАТЬ НОВУЮ / нет аналога, термины которых придерживаться.
  2. Текст инструкции в DokuWiki: Название / Назначение / Применимость / Описание.

Если ответ слабый — повороты

  • Скопировал стиль старой статьи: «Стиль knowledge-base/ образцом не считай. Перепиши строго по methodology/03 и methodology/04».
  • Выдумал название кнопки/поля: «Не выдумывай UI. Покажи источник для каждого названия (task.md / attachments/<файл> / diff:<строка>). Где источника нет — задай вопрос вместо текста».
  • Пропустил отчёт по БЗ: «Сначала отчёт по базе знаний пунктом 1, без него инструкцию не принимаю».
  • Включил формулы / SQL / поля БД: «Это уровень DATA / Implementation. По methodology/04 в пользовательскую инструкцию не входит — убери».
📋
Сводка по задаче
Сводка / итог *
Обязательное поле — без заполнения задачу закрыть нельзя.
Текст будет добавлен как комментарий к задаче в Redmine.
📥 Изменения в производственном календаре
⚠ Несохранённые изменения
Следующие данные были изменены, но не сохранены:
    Если закроете — данные будут сброшены. Продолжить закрытие?
    Назначить время
    Оценка трудоёмкости (ч): Кликните на ячейку — выберите начало. Блок растянется на введённые часы.
    Кликните на ячейку для выбора
    Загрузка полей из Redmine...
    💾 Подтвердите изменение
    👆 Назначить родительскую задачу