В данном разделе оставляются заявки для создания 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));;;
-
Денис
- Сообщения: 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='';;;
-
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
-
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".
-
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"