Skip to content

fix: использовать ID из метаданных для параметров при редактировании ячеек#332

Merged
ideav merged 3 commits intomainfrom
issue-331-01e352b82f05
Feb 8, 2026
Merged

fix: использовать ID из метаданных для параметров при редактировании ячеек#332
ideav merged 3 commits intomainfrom
issue-331-01e352b82f05

Conversation

@konard
Copy link
Copy Markdown
Collaborator

@konard konard commented Feb 8, 2026

📋 Описание

Исправлена работа редактирования ячеек в альтернативном (объектном) формате. Теперь при сохранении изменений используются правильные идентификаторы параметров из метаданных.

🐛 Проблема

При редактировании ячеек в объектном формате использовался неправильный идентификатор параметра - вместо ID из метаданных использовался тип данных колонки (например, "3" для SHORT вместо "332" для типа Клиент).

✨ Решение

В метаданных для типа 332 (Клиент):

{
    "id": "332",
    "type": "3",
    "val": "Клиент",
    "reqs": [
        {
            "num": 1,
            "id": "637",
            "orig": "492",
            "val": "ИНН",
            "type": "3"
        },
        ...
    ]
}

Теперь параметры сохраняются как:

  • Первая колонка (основное значение): t332 (используется metadata.id)
  • Колонка ИНН: t637 (используется req.id из массива reqs)

🔧 Реализация

  1. Добавлено новое поле paramId в объекты колонок при парсинге метаданных:

    • Для первой колонки: paramId = metadata.id
    • Для колонок-реквизитов: paramId = req.id
  2. Обновлен код рендеринга ячеек - теперь используется paramId вместо type для атрибута data-col-type

  3. Изменения внесены в три места создания колонок:

    • loadDataFromTable (строки 333-369)
    • parseObjectFormat (строки 422-456)
    • parseJsonDataArray (строки 537-578)
  4. При редактировании ячейки значение colType берется из data-col-type, которое теперь содержит ID из метаданных

✅ Результат

  • ✅ Первая колонка сохраняется с параметром t{metadata.id}
  • ✅ Остальные колонки сохраняются с параметрами t{req.id}
  • ✅ Обратная совместимость: если paramId отсутствует (для старых форматов), используется type

Fixes #331


Создано автоматически AI issue solver

Adding CLAUDE.md with task information for AI processing.
This file will be removed when the task is complete.

Issue: #331
@konard konard self-assigned this Feb 8, 2026
…t format

In object format (metadata structure), when editing cells, the parameter ID
should be taken from metadata, not from the column data type:
- For first column: use t{metadata.id} (root type ID)
- For requisite columns: use t{req.id} (ID from reqs array)

This ensures correct parameter names when saving cell edits via _m_save/_m_set.

Changes:
- Added paramId field to column objects in parseObjectFormat, parseJsonDataArray, and loadDataFromTable
- Updated cell rendering to use paramId instead of type for data-col-type attribute
- paramId contains the metadata ID for proper API parameter naming

Fixes #331

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
@konard konard changed the title [WIP] assets/js/integram-table.js В альтернативном (объектном) формате при редактировании ячейки id параметра брать из метаданных fix: использовать ID из метаданных для параметров при редактировании ячеек Feb 8, 2026
@konard konard marked this pull request as ready for review February 8, 2026 14:23
@konard
Copy link
Copy Markdown
Collaborator Author

konard commented Feb 8, 2026

🤖 Solution Draft Log

This log file contains the complete execution trace of the AI solution draft process.

💰 Cost estimation:

  • Public pricing estimate: $1.791163 USD
  • Calculated by Anthropic: $1.899032 USD
  • Difference: $0.107869 (+6.02%)
    📎 Log file uploaded as Gist (1396KB)
    🔗 View complete solution draft log

Now working session is ended, feel free to review and add any feedback on the solution draft.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

2 participants