Карточка ОЕМ
Карточка ОЕМ.
Карточка ОЕМ кода открывается из справочника ОЕМ. Предусмотреть возможность открытия не из справочника. Точно будет открываться из карточки товара. С открытием по коду. Карточка работает однотипно с другими карточками в проекте. Информация сохраняется после нажатия Ок.
Карточки имеет 4 вкладки. Предусмотреть сохранения открытие карточки на той вкладке, которую выбрали последний раз в карточке такого типа. По умолчанию первая вкладка.
На первой вкладке отображаются поля из запроса.
SELECT c.id, c.code, c.oemmarkid, m.name as mark, c.info, c.code_ex
FROM oem_codes AS c
LEFT JOIN oem_Mark AS m ON m.id = c.oemmarkid
WHERE c.id = 58553 ORDER BY id
Поле производитель должна быть возможность выбрать из диалога.
Вкладка Автомобили.
Данные берутся из запроса
SELECT top(10) m.id, mdls.items, m.name, m.[begin], COALESCE(CAST(m.[end] as CHAR(18)), 'н.в.') as _end, m.[end], fleet2.quantity_guarantee, fleet2.quantity_nonguarantee,
fleet.quantity, '-' as quantity_rate, m.quality, c.name as country, '' as popular, m.country_id , m.image, db.oem_id
FROM auto_marks AS m
LEFT JOIN (
SELECT mark_id, COUNT(id) as items
FROM auto_models GROUP BY mark_id) AS mdls ON mdls.mark_id = m.id
LEFT JOIN auto_countries AS c ON c.id = m.country_id
LEFT JOIN (
SELECT SUM(quantity) AS quantity, mark_id
FROM auto_sells GROUP BY mark_id) AS fleet ON fleet.mark_id = m.id
LEFT JOIN (
SELECT SUM(mf.quantity_guarantee) AS quantity_guarantee, SUM(mf.quantity_nonguarantee) AS quantity_nonguarantee, md.mark_id
FROM auto_modifications AS mf
LEFT JOIN auto_models AS md ON md.id = mf.model_id
GROUP BY md.mark_id) AS fleet2 ON fleet2.mark_id = m.id
LEFT JOIN (
SELECT md.mark_id, db.oem_id, c.code, c.code_ex
FROM auto_models AS md
LEFT JOIN auto_modifications AS mf ON mf.model_id = md.id
LEFT JOIN product_cars AS dbc ON dbc.modification_id = mf.id
LEFT JOIN product_oem AS db ON dbc.product_id = db.product_id
LEFT JOIN oem_codes AS c ON c.id = db.oem_id
GROUP BY md.mark_id, db.oem_id, c.code, c.code_ex) AS db ON db.mark_id = m.id
WHERE db.oem_id = 56134 ORDER BY m.name
Запрос можно изменить.
Вкладка возможно устаревшая. Т.к. данные явно не актуальные. Но переносим для общей картины. Картинку вставлять не нужно.
Вкладка товары
Данные берутся из запроса
SELECT * FROM products AS p
JOIN product_oem AS td ON td.product_id = p.id
WHERE td.oem_id = 158577
Вкладка Заменители ОЕМ
Данные берутся из запроса
SELECT c.id, c.id as oem_id, c.code, c.code as name, c.oemmarkid, m.name as mark, c.info, c.code_ex
FROM oem_codes AS c
LEFT JOIN oem_Mark AS m ON m.id = c.oemmarkid
LEFT JOIN product_oem AS pc ON pc.oem_id = c.id
LEFT JOIN product_oem AS pc2 ON pc2.oem_id = 158577
WHERE pc2.product_id = pc.product_id AND pc2.oem_id <> pc.oem_id
ORDER BY id