3.7 KiB
Услуги в публичной записи: временная защита от неверного справочника
Проверка 23.10.2026: в onec_services у 175 врачей разных направлений сохранён
один и тот же набор из 18 идентификаторов/названий (3150 строк). В нём смешаны
анализы, рентген, хирургические и стоматологические процедуры. Это не
подтверждённая связь «врач → выполняемая услуга». Точное место, где формируется
неверный список в действующем отправителе 1С, этой проверкой не установлено.
До сверки с 1С публичный GET /api/v1/doctors/{slug}/slots возвращает services: [],
форма не предлагает услуги и не отправляет service_id. Непустой service_id
из старой вкладки отклоняется до создания записи с кодом service_unavailable.
Выбор врача, реального свободного окна, филиала и очередь записи не меняются.
Импортированный справочник и прошлые записи не удаляются и не переписываются.
Для возвращения выбора услуг нужны проверенные привязки к конкретному врачу из 1С, проверка этих привязок перед созданием записи и регрессионные примеры для стоматолога, ЛОРа и хирурга. Нельзя заменять их общим прайсом клиники или угадывать исполнителя по ключевым словам. Это ограничение снимается отдельным проверенным изменением; один новый снимок 1С сам по себе его не отключает.
Проверка
node web/scripts/test-booking-service-safety.mjsзапускать изweb/, используя путьscripts/test-booking-service-safety.mjs.go test ./internal/api -run TestAppointmentRejectsUnverifiedService— отказ до обращения к БД для непроверенной услуги.TestDoctorServicesQuarantine— отдельная временная БД черезDANA_AUTONOMY_TEST_DSN. Проверяет пустой публичный список, сохранность сырого импорта и создание pending-записи безservice_id. Не запускать с DSN продакшна.- На сайте выбрать Шугаева и свободное время: в форме контактов нет списка услуг; не создавать проверочную запись на продакшне.
Откат
Предыдущий образ: dana-medical-api:before-booking-service-safety-20261023.
Из каталога /home/mikail/dana-medical:
docker tag dana-medical-api:before-booking-service-safety-20261023 dana-medical-api:latest
docker compose -p dana-medical -f docker-compose.prod.yml up -d --no-deps api
Проверить /api/v1/health. Такой откат возвращает и неверный список услуг;
использовать только при регрессии и затем согласовать исправление. БД и
медиа не откатывать, контейнер bridge не запускать.