SQL запросы для движка 1С-Битрикс

В данном разделе оставляются заявки для создания SQL запросов для обновления тех или иных полей при импорте и экспорте.
Аватара пользователя
TechAdmin
Администратор
Сообщения: 4286
Зарегистрирован: 27 авг 2008 14:30

21 окт 2012 12:03

Alexx писал(а):Подскажите запрос для экспорта "Артикул поставщика" на сайт из ПЛИ (код на сайте "articul_postavshika")


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

UPDATE b_iblock_element_property, b_iblock_element, etrade_products SET b_iblock_element_property.value=etrade_products.tov_art_supply WHERE b_iblock_element.id=b_iblock_element_property.iblock_element_id AND b_iblock_element_property.iblock_property_id IN (SELECT b_iblock_property.id FROM b_iblock_property WHERE b_iblock_property.active = 'Y' AND b_iblock_property.code='articul_postavshika') AND b_iblock_element.xml_id=etrade_products.tov_guid;;;
INSERT INTO b_iblock_element_property (iblock_property_id, iblock_element_id, value) SELECT (SELECT b_iblock_property.id FROM b_iblock_property WHERE b_iblock_property.active = 'Y' AND b_iblock_property.code = 'articul_postavshika' GROUP BY b_iblock_property.code) as property_id, b_iblock_element.id,  etrade_products.tov_art_supply FROM b_iblock_element, etrade_products WHERE b_iblock_element.xml_id=etrade_products.tov_guid AND b_iblock_element.id NOT IN (SELECT iblock_element_id FROM b_iblock_element_property WHERE iblock_property_id IN (SELECT b_iblock_property.id FROM b_iblock_property WHERE b_iblock_property.active = 'Y' AND b_iblock_property.code = 'articul_postavshika' GROUP BY b_iblock_property.code));;;
С уважением, поддержка ElbuzGroup.
Alexx
Сообщения: 141
Зарегистрирован: 21 сен 2012 18:11

21 окт 2012 12:21

Все отлично прошло! Спасибо большое
Денис
Сообщения: 182
Зарегистрирован: 19 авг 2012 12:40

22 окт 2012 12:25

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

22 окт 2012 12:55

Денис писал(а):Здравствуйте, не подскажите SQL запрос для того, чтоб описание из PLI при выгрузке в битрикс удалялось?

Для краткого описания

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

UPDATE b_iblock_element, etrade_products SET b_iblock_element.preview_text='' WHERE b_iblock_element.xml_id=etrade_products.tov_guid;;;

Для полного описания

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

UPDATE b_iblock_element, etrade_products SET b_iblock_element.detail_text='' WHERE b_iblock_element.xml_id=etrade_products.tov_guid;;;

Для краткого и полного описания

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

UPDATE b_iblock_element, etrade_products SET b_iblock_element.preview_text='', b_iblock_element.detail_text='' WHERE b_iblock_element.xml_id=etrade_products.tov_guid;;;


Или напрямую в таблице СТУС

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

UPDATE etrade_products SET desc_small='', desc_full='';;;
С уважением, поддержка ElbuzGroup.
Alexx
Сообщения: 141
Зарегистрирован: 21 сен 2012 18:11

03 ноя 2012 17:22

Подскажите пожалуйста запрос для экспорта на сайт Поля "Поставщик".

Пробовал указанный ранее:

TechAdmin писал(а):Попробуйте использовать эти SQL запросы:

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

UPDATE b_iblock_element_property, b_iblock_element, etrade_products, etrade_contractor SET b_iblock_element_property.value=etrade_contractor.contractor_name WHERE etrade_products.supply_id=etrade_contractor.contractor_id AND b_iblock_element.id=b_iblock_element_property.iblock_element_id AND b_iblock_element_property.iblock_property_id IN (SELECT b_iblock_property.id FROM b_iblock_property WHERE b_iblock_property.active = 'Y' AND b_iblock_property.name='Поставщик') AND b_iblock_element.xml_id=etrade_products.tov_guid;;;
INSERT INTO b_iblock_element_property (iblock_property_id, iblock_element_id, value) SELECT (SELECT b_iblock_property.id FROM b_iblock_property WHERE b_iblock_property.active = 'Y' AND b_iblock_property.iblock_id=5 AND b_iblock_property.name = 'Поставщик' GROUP BY b_iblock_property.name) as property_id, b_iblock_element.id,  etrade_contractor.contractor_name FROM b_iblock_element, etrade_products, etrade_contractor WHERE etrade_products.supply_id=etrade_contractor.contractor_id AND b_iblock_element.xml_id=etrade_products.tov_guid AND b_iblock_element.iblock_id=5 AND b_iblock_element.id NOT IN (SELECT iblock_element_id FROM b_iblock_element_property WHERE iblock_property_id IN (SELECT b_iblock_property.id FROM b_iblock_property WHERE b_iblock_property.active = 'Y' AND b_iblock_property.iblock_id=5 AND b_iblock_property.name = 'Поставщик' GROUP BY b_iblock_property.name));;;


Но программа выдала на этот запрос ошибку. (указывал свой id блока, поле назвал так же "Поставщик" "postavshik")
Аватара пользователя
TechAdmin
Администратор
Сообщения: 4286
Зарегистрирован: 27 авг 2008 14:30

03 ноя 2012 19:45

Какую ошибку?
С уважением, поддержка ElbuzGroup.
Alexx
Сообщения: 141
Зарегистрирован: 21 сен 2012 18:11

04 ноя 2012 11:32

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

Единственное, а для всех инфоблоков сразу нельзя выполнить запрос?
Аватара пользователя
TechAdmin
Администратор
Сообщения: 4286
Зарегистрирован: 27 авг 2008 14:30

04 ноя 2012 11:45

Для обновления всех инфоблоков необходимо из SQL запросов удалить текст "AND b_iblock_property.iblock_id=5".
С уважением, поддержка ElbuzGroup.
Alexx
Сообщения: 141
Зарегистрирован: 21 сен 2012 18:11

04 ноя 2012 12:24

TechAdmin писал(а):Для обновления всех инфоблоков необходимо из SQL запросов удалить текст "AND b_iblock_property.iblock_id=5".


Спасибо!
sveekey
Сообщения: 129
Зарегистрирован: 23 янв 2012 11:24

13 ноя 2012 14:03

TechAdmin писал(а):Для обновления всех инфоблоков необходимо из SQL запросов удалить текст "AND b_iblock_property.iblock_id=5".


У меня почему то не работает для всех:

"AND b_iblock_property.iblock_id=5" удалил, но ведь остался еще "AND b_iblock_element.iblock_id=5"
Ответить

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