SQL запросы для движка CS-Cart

В данном разделе оставляются заявки для создания SQL запросов для обновления тех или иных полей при импорте и экспорте.
Аватара пользователя
support
Сообщения: 10553
Зарегистрирован: 09 ноя 2008 21:37

19 янв 2012 14:34

Здесь будет список SQL запросов с описанием для чего они используются для движка CS-Cart.

Импорт:


Экспорт:

Заменить артикул производителя на ID товара:
Вкладка До обновления.

Код: Выделить всё

UPDATE etrade_products SET tov_art=tov_id
C уважением, поддержка ElbuzGroup.
Документация E-Trade Jumper
MCMak
Сообщения: 12
Зарегистрирован: 24 фев 2011 14:46

03 мар 2013 09:58

Необходима помощь по настройке передачи данных из PLI в CS-Cart с помощью туннеля...
Интересуют поля, которые не используются в стандартных настройках: MSupply_ID, sort_order, warranty

MSupply_ID надо перезаписывать при каждом обновлении в cscart_companies.companies_id, но в таблицах для туннеля нет переменной MSupply_ID :(
sort_order надо перезаписывать при каждом обновлении в cscart_products_categories.position по ID продукта

warranty надо добавлять, только при добавлении нового товара в таблицу характеристик cscart_product_features_values где feature_id=4 и variant_id = 10 если Гарантия = 12 мес, variant_id = 22 если Гарантия = 1 мес, и т.д.
MCMak
Сообщения: 12
Зарегистрирован: 24 фев 2011 14:46

03 мар 2013 17:15

Первый запрос решил сам как сделать, переменную нашел:

Код: Выделить всё

UPDATE cscart_products, etrade_products SET cscart_products.company_id=etrade_products.supply_id WHERE etrade_products.tov_id=cscart_products.product_id;;;
xeddin
Сообщения: 56
Зарегистрирован: 22 фев 2013 13:09

11 апр 2013 16:42

Добрый день!

У меня ИМ на CS Cart. Настраиваю прайс листы и столкнулся с тем, что для создания карточки товара в учетной системе (читай в cs cart) с параметрами (цвет, размер и т.д.) необходимо составлять какой то SQL запрос. Я не силен в этих делах, может кто может подсказать что за запрос нужно создавать? И на видео я видел, что у Вас есть такой запрос. Как его можно получить?
Видео тут: http://www.youtube.com/watch?v=Uab1gtchFHo
Аватара пользователя
TechAdmin
Администратор
Сообщения: 4286
Зарегистрирован: 27 авг 2008 14:30

12 апр 2013 14:18

Ниже SQL запросы, которые были использованы в этом видео http://www.youtube.com/watch?v=Uab1gtchFHo

Код: Выделить всё

SET SESSION sql_mode='';;;
SET SQL_BIG_SELECTS=1;;;
TRUNCATE TABLE cscart_products_categories;;;
UPDATE etrade_cats SET row_exist=1 WHERE cat_id IN (SELECT category_id FROM cscart_categories);;;
INSERT INTO cscart_categories (product_details_layout, status, category_id, parent_id, position) SELECT 'default' as product_details_layout, IF(cat_active=1,'A','N'), cat_id, parent_id, sort_order FROM etrade_cats WHERE etrade_cats.row_exist=0;;;
INSERT INTO cscart_category_descriptions (category_id, lang_code, category, description) SELECT cat_id, 'RU' as lang_code, cat_name, cat_desc FROM etrade_cats WHERE etrade_cats.row_exist=0;;;
UPDATE cscart_categories, etrade_cats SET cscart_categories.status = IF(cat_active=1,'A','N'), cscart_categories.parent_id = etrade_cats.parent_id, cscart_categories.position = etrade_cats.sort_order WHERE etrade_cats.row_exist=1 AND etrade_cats.cat_id=cscart_categories.category_id;;;
UPDATE cscart_category_descriptions, etrade_cats SET cscart_category_descriptions.category = etrade_cats.cat_name WHERE etrade_cats.row_exist=1 AND etrade_cats.cat_id=cscart_category_descriptions.category_id AND cscart_category_descriptions.lang_code='RU';;;
UPDATE cscart_products, etrade_products SET cscart_products.status = IF(tov_active=1,'A','N'), cscart_products.amount = etrade_products.tov_quantity, cscart_products.list_price = etrade_products.tov_price WHERE etrade_products.tov_art2=cscart_products.product_id;;;
UPDATE cscart_product_descriptions, etrade_products SET cscart_product_descriptions.product = etrade_products.tov_name WHERE etrade_products.tov_art2=cscart_product_descriptions.product_id AND cscart_product_descriptions.lang_code='RU';;;
DELETE FROM cscart_product_prices WHERE cscart_product_prices.product_id IN (SELECT tov_art2 FROM etrade_products GROUP BY etrade_products.tov_art2);;;
INSERT INTO cscart_product_prices (lower_limit, product_id, price) SELECT '1' as lower_limit, tov_art2, MIN(tov_price) as min_price FROM etrade_products WHERE etrade_products.tov_art2 NOT IN (SELECT product_id FROM cscart_product_prices) GROUP BY etrade_products.tov_art2 ORDER BY min_price;;;
INSERT INTO cscart_product_descriptions (product_id, lang_code, product) SELECT tov_art2, 'RU' as lang_code, tov_name FROM etrade_products WHERE etrade_products.tov_art2 NOT IN (SELECT product_id FROM cscart_products) GROUP BY etrade_products.tov_art2;;;
INSERT INTO cscart_products (details_layout, feature_comparison, tracking, status, product_code, product_id, amount, list_price) SELECT 'default' as details_layout, 'Y' as feature_comparison, 'D' as tracking, IF(tov_active=1,'A','N'), tov_id, tov_art2, tov_quantity, tov_price FROM etrade_products WHERE etrade_products.tov_art2 NOT IN (SELECT product_id FROM cscart_products) GROUP BY etrade_products.tov_art2;;;
DELETE FROM cscart_products_categories WHERE product_id IN (SELECT tov_art2 FROM etrade_products GROUP BY etrade_products.tov_art2);;;
INSERT INTO cscart_products_categories (product_id, category_id) SELECT etrade_products.tov_art2, etrade_products_cats.tov_cat_id FROM etrade_products_cats LEFT JOIN etrade_products ON etrade_products_cats.tov_id=etrade_products.tov_id GROUP BY etrade_products_cats.tov_cat_id, etrade_products.tov_art2;;;
UPDATE etrade_cats SET punkt=REPLACE(punkt, '/0/', '');;;
UPDATE cscart_categories, etrade_cats SET id_path=etrade_cats.punkt WHERE etrade_cats.cat_id=category_id;;;
TRUNCATE cscart_product_options;;;
TRUNCATE cscart_product_options_descriptions;;;
TRUNCATE cscart_product_option_variants;;;
TRUNCATE cscart_product_option_variants_descriptions;;;
INSERT INTO cscart_product_options (option_id, product_id) SELECT tov_id, tov_art2 FROM etrade_products WHERE tov_size<>'' AND nalich_c='Есть' GROUP BY tov_art2;;;
INSERT INTO cscart_product_options_descriptions (option_id, lang_code, option_name) SELECT option_id, 'RU' as lang_code, 'Размер' as option_name FROM cscart_product_options;;;
INSERT INTO cscart_product_option_variants (variant_id, option_id, modifier) SELECT etrade_products.tov_id, cscart_product_options.option_id, etrade_products.tov_price FROM etrade_products LEFT JOIN cscart_product_options ON cscart_product_options.product_id=etrade_products.tov_art2 WHERE tov_size<>'' AND nalich_c='Есть';;;
INSERT INTO cscart_product_option_variants_descriptions (variant_id, lang_code, variant_name) SELECT tov_id, 'RU' as lang_code, tov_size FROM etrade_products WHERE tov_size<>'' AND nalich_c='Есть' ORDER BY tov_id, tov_size;;;
UPDATE cscart_product_option_variants, cscart_product_options, cscart_product_prices SET cscart_product_option_variants.modifier=cscart_product_option_variants.modifier-cscart_product_prices.price WHERE cscart_product_option_variants.option_id=cscart_product_options.option_id AND cscart_product_options.product_id=cscart_product_prices.product_id AND cscart_product_option_variants.modifier<>cscart_product_prices.price;;;
UPDATE cscart_product_option_variants, cscart_product_options, cscart_product_prices SET cscart_product_option_variants.modifier=0 WHERE cscart_product_option_variants.option_id=cscart_product_options.option_id AND cscart_product_options.product_id=cscart_product_prices.product_id AND cscart_product_option_variants.modifier=cscart_product_prices.price;;;
INSERT INTO cscart_seo_names (name, object_id, type, lang_code) SELECT tov_seo_url, tov_art2, 'p' as type, 'RU' as lang_code FROM etrade_products WHERE tov_art2 NOT IN (SELECT object_id FROM cscart_seo_names WHERE type='p' AND lang_code='RU') GROUP BY etrade_products.tov_art2;;;
INSERT INTO cscart_seo_names (name, object_id, type, lang_code) SELECT cat_seo_url, cat_id, 'c' as type, 'RU' as lang_code FROM etrade_cats WHERE cat_id NOT IN (SELECT object_id FROM cscart_seo_names WHERE type='c' AND lang_code='RU');;;
DROP TABLE IF EXISTS etrade_cats;;;
DROP TABLE IF EXISTS etrade_products;;;
DROP TABLE IF EXISTS etrade_products_cats;;;
DROP TABLE IF EXISTS etrade_mans;;;
С уважением, поддержка ElbuzGroup.
MCMak
Сообщения: 12
Зарегистрирован: 24 фев 2011 14:46

12 апр 2013 14:26

Жаль мои сообщения проигнорировали... А так надо было...
xeddin
Сообщения: 56
Зарегистрирован: 22 фев 2013 13:09

12 апр 2013 16:12

Ребята, супер. Спасибо за запрос. Теперь, когда я хочу его вставить в "Ручная настройка работы SQL" вижу, что эта кнопка неактивна. Почему такое может быть? версия последняя, сегодня или вчера обновился.
Аватара пользователя
TechAdmin
Администратор
Сообщения: 4286
Зарегистрирован: 27 авг 2008 14:30

12 апр 2013 19:07

Теперь, когда я хочу его вставить в "Ручная настройка работы SQL" вижу, что эта кнопка неактивна.

Данные запросы работают в ручном режиме, поэтому вам необходимо выбрать в настройках туннеля движок "Самописный (заказной)".
С уважением, поддержка ElbuzGroup.
taras21
Сообщения: 39
Зарегистрирован: 23 июн 2013 22:37

23 июн 2013 22:50

Здравствуйте. Подскажите пожалуйста SQL запрос для категории по умолчанию. У меня в магазине товар находится в двух категориях (родительской и основной)
основная категория (Главная категория)
Главная/Телефония/Мобильные телефоны и аксессуары/Мобильные телефоны/FLY
Дополнительная (Secondary category)
Главная/Телефония/Мобильные телефоны и аксессуары/Мобильные телефоны

При экспорте E-Trade PriceList Importer через туннель у меня получается что
Главная категория
Главная/Телефония/Мобильные телефоны и аксессуары/Мобильные телефоны
Дополнительная (Secondary category)
Главная/Телефония/Мобильные телефоны и аксессуары/Мобильные телефоны/FLY
Меняются местами ((..
Как это можно исправить?
Аватара пользователя
TechAdmin
Администратор
Сообщения: 4286
Зарегистрирован: 27 авг 2008 14:30

24 июн 2013 15:00

Код: Выделить всё

UPDATE cscart_products_categories, etrade_products SET link_type='A' WHERE etrade_products.tov_id=cscart_products_categories.product_id AND etrade_products.tov_cat_id<>cscart_products_categories.category_id;;;

где cscart_ префикс таблиц БД сайта.
С уважением, поддержка ElbuzGroup.
Ответить

Вернуться в «SQL запросы для E-Trade PriceList Importer»