food-market/app/ui
Claude 26b401e507 Цена по фасовке не подставлялась после удаления строки
Обработчики строк запоминали номер строки в момент создания. После
удаления любой строки всё, что было ниже, съезжает вверх, и запомненный
номер начинает указывать на соседа или за пределы таблицы. Строка молча
переставала работать целиком: выбираешь фасовку — цена не меняется,
меняешь товар — не пересобирается список фасовок. Приходилось править
цену руками.

Теперь обработчики привязаны к самому виджету, а строка ищется по нему
в момент вызова. То же исправлено в быстром вводе, где строк больше
и удаляют их чаще.

Заодно найдена мина, которую посадил я сам в разделе статистики:
self.metric = QComboBox() на QWidget затеняет метод QWidget.metric(),
который Qt зовёт при смене стиля. Падало это в чужом месте и с невнятным
«object is not callable». Такая же история была с self.layout в сводке.
Оба переименованы, добавлен тест, который обходит все виджеты и проверяет,
что ни один атрибут не затеняет метод Qt.

И подсказка в карточке товара: себестоимость фасовки нигде не вводится,
она выводится из цены базовой единицы. Теперь под таблицей фасовок прямо
написано, какая сумма подставится в закупку.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-23 17:50:42 +03:00
..
__init__.py Учёт закупки и перепродажи булок 2026-08-22 17:29:53 +03:00
chart.py Раздел статистики 2026-08-23 02:33:11 +03:00
login.py Учёт закупки и перепродажи булок 2026-08-22 17:29:53 +03:00
main_window.py Раздел статистики 2026-08-23 02:33:11 +03:00
page_batches.py Отдельный репозиторий для базы, фасовки товара, ввод истории 2026-08-22 21:25:39 +03:00
page_dashboard.py Цена по фасовке не подставлялась после удаления строки 2026-08-23 17:50:42 +03:00
page_debts.py Отдельный репозиторий для базы, фасовки товара, ввод истории 2026-08-22 21:25:39 +03:00
page_journal.py Учёт закупки и перепродажи булок 2026-08-22 17:29:53 +03:00
page_products.py Цена по фасовке не подставлялась после удаления строки 2026-08-23 17:50:42 +03:00
page_sales.py Чаевые 2026-08-23 00:56:26 +03:00
page_settings.py Учёт закупки и перепродажи булок 2026-08-22 17:29:53 +03:00
page_stats.py Цена по фасовке не подставлялась после удаления строки 2026-08-23 17:50:42 +03:00
quick_sales.py Цена по фасовке не подставлялась после удаления строки 2026-08-23 17:50:42 +03:00
theme.py Отдельный репозиторий для базы, фасовки товара, ввод истории 2026-08-22 21:25:39 +03:00
widgets.py Цена по фасовке не подставлялась после удаления строки 2026-08-23 17:50:42 +03:00