feat: вкладка Аренда — колонки Estimate/Цена продажи; lot_description для прайслистов
Вкладка «Аренда»: добавлены колонки Estimate и Цена продажи (+ итоги), чекбокс «БУ» перенесён первым слева, таблица переведена на тот же разметку/классы, что и таблицы вкладки «Ценообразование». Прайслисты: local_pricelist_items получает lot_description (синхронизируется из qt_pricelist_items.lot_description) вместо устаревших available_qty/ partnumbers, которые нигде не заполнялись. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 5
parent
7edb80e498
commit
39e6fd5642
@@ -0,0 +1,17 @@
|
||||
-- Tables affected: qt_pricelist_items
|
||||
-- recovery.not-started: safe to re-run; ADD COLUMN IF NOT EXISTS
|
||||
-- recovery.partial: ALTER TABLE qt_pricelist_items DROP COLUMN lot_description;
|
||||
-- recovery.completed: no action needed
|
||||
-- verify: lot_description column missing | SELECT 1 FROM information_schema.COLUMNS WHERE table_schema=DATABASE() AND table_name='qt_pricelist_items' AND column_name='lot_description' HAVING COUNT(*)=0
|
||||
|
||||
-- QuoteForge previously read a LOT's description via a per-row live join into
|
||||
-- `lot` (internal/repository/pricelist.go GetItems), which never made it into
|
||||
-- the local sync cache. Storing the description directly on the pricelist row
|
||||
-- lets QF sync it like any other pricelist field and removes the join.
|
||||
ALTER TABLE qt_pricelist_items
|
||||
ADD COLUMN IF NOT EXISTS lot_description VARCHAR(10000) NULL;
|
||||
|
||||
UPDATE qt_pricelist_items i
|
||||
JOIN lot l ON l.lot_name = i.lot_name
|
||||
SET i.lot_description = l.lot_description
|
||||
WHERE i.lot_description IS NULL OR i.lot_description = '';
|
||||
Reference in New Issue
Block a user