zov-tech/backend-py
wasrusgen 8318b25999 fix: write Measurements rows by column name, not by position
Root cause: _row_for_measurement() returned a positional list based on
_measurement_columns() order, but the actual Google Sheet may have
columns in a different order (if the sheet was created before new
columns were added and _ensure_measurements_sheet() appended them
at the end rather than in the middle). Values ended up in wrong
columns — client_name, manager_tg_id etc. were misaligned, so
_handle_clients couldn't match any rows and returned an empty list.

Fix:
- _row_for_measurement() now returns dict {col_name: value}
- sheets.append_named_row() reads real headers from the sheet and
  builds the positional row accordingly — safe regardless of column order
- All three Measurements append calls updated to use append_named_row

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-16 10:56:45 +03:00
..
app fix: write Measurements rows by column name, not by position 2026-05-16 10:56:45 +03:00
.dockerignore feat(infra): Python FastAPI backend + Docker compose for VPS deploy (GigaChat with Russian root CA) 2026-05-10 17:44:21 +03:00
Dockerfile backend: Playwright + Chromium for JS-rendered sites (Я.Маркет, OZON fallback) 2026-05-11 13:25:05 +03:00
requirements.txt feat: warehouse module — ОТГРУЗКИ.xlsx в дашборде менеджера 2026-05-16 07:21:23 +03:00
seed_test_clients.py seed_test_clients: 4 тестовые заявки в разных статусах 2026-05-13 19:59:39 +03:00