Карточка ОЕМ.

1705993896854-934.png

Карточка ОЕМ кода открывается из справочника ОЕМ. Предусмотреть возможность открытия не из справочника. Точно будет открываться из карточки товара. С открытием по коду. Карточка работает однотипно с другими карточками в проекте. Информация сохраняется после нажатия Ок.

Карточки имеет 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
 

Поле производитель должна быть возможность выбрать из диалога.

Вкладка Автомобили.
image-20240123101116-2.png
Данные берутся из запроса
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
 

Запрос можно изменить.
Вкладка возможно устаревшая. Т.к. данные явно не актуальные. Но переносим для общей картины. Картинку вставлять не нужно.
 

Вкладка товары

1705993920794-577.png

Данные берутся из запроса

SELECT * FROM products AS p

JOIN product_oem AS td ON td.product_id = p.id 

WHERE td.oem_id = 158577 

Вкладка Заменители ОЕМ

1705993936537-323.png

Данные берутся из запроса

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

Tags:
Created by Vladislav Eleseev on 2024/01/23 07:11
    

Tips

You can click on the arrows next to the breadcrumb elements to quickly navigate to sibling and children pages.

My Recent Modifications

Need help?

If you need help with XWiki you can contact: