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

В данном разделе оставляются заявки для создания SQL запросов для обновления тех или иных полей при импорте и экспорте.
SensoR
Сообщения: 174
Зарегистрирован: 19 авг 2012 23:17

22 июн 2013 10:15

Alexx писал(а):понял. а подскажите тогда как можно поменять id этого поля в программе. пробую его изменить, но ничего не происходит. а мне уж очень надо, чтобы оно имело именно другой id

Как вариант, пока программу не доработали, можно импортом с сайта добавить доп. поле (для этого нужно, чтобы хотя бы у одного товара это поле на сайте содержало какое-либо значение), а потом уже добавить в него нужные значения аналогично, как они у Вас добавляются в "_3DhtfDR". Только там еще и товары будут импортироваться, кроме доп. полей (поэтому лучше резерв. копию вначале сделать - мало ли что не то проимпортируется). Кстате переименовывать в Pli нужно будет вероятно в "bitrix_ORDER_PRISE_OLD" с учетом последних изменений, а может и не обязательно bitrix добавлять вначале.
Alexx
Сообщения: 141
Зарегистрирован: 21 сен 2012 18:11

24 июн 2013 21:53

Согласен, вариант, но из-за этого импортнуться и другие поля, товары и может произойти жесткая проблема. Поэтому буду ждать доработки программы, так как если внесут изменения - это решит проблему.
Alexx
Сообщения: 141
Зарегистрирован: 21 сен 2012 18:11

01 сен 2013 13:40

Здравствуйте!
Пытаюсь выгрузить себестоимость товара в поле с символьным кодом "ZAKUP_PRICE_TOV", но почему-то система виснет. Подскажите, пожалуйста, что не так в запросе:

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

UPDATE b_iblock_element_property, b_iblock_element, etrade_products SET b_iblock_element_property.value=etrade_products.price_cost 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='ZAKUP_PRICE_TOV') 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 = 'ZAKUP_PRICE_TOV' GROUP BY b_iblock_property.code) as property_id, b_iblock_element.id,  etrade_products.price_cost 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 = 'ZAKUP_PRICE_TOV' GROUP BY b_iblock_property.code));;;
Alexx
Сообщения: 141
Зарегистрирован: 21 сен 2012 18:11

03 сен 2013 20:55

Что-то этот запрос оказался не рабочий:
Alexx писал(а):Здравствуйте!
Пытаюсь выгрузить себестоимость товара в поле с символьным кодом "ZAKUP_PRICE_TOV", но почему-то система виснет. Подскажите, пожалуйста, что не так в запросе:

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

UPDATE b_iblock_element_property, b_iblock_element, etrade_products SET b_iblock_element_property.value=etrade_products.price_cost 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='ZAKUP_PRICE_TOV') 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 = 'ZAKUP_PRICE_TOV' GROUP BY b_iblock_property.code) as property_id, b_iblock_element.id,  etrade_products.price_cost 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 = 'ZAKUP_PRICE_TOV' GROUP BY b_iblock_property.code));;;

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

04 сен 2013 12:22

Попробуйте добавить в учётной системе дополнительный столбец "Цена себестоимость", при этом в поле "ИД" прописать идентификатор "ZAKUP_PRICE_TOV", это поле по умолчанию только для чтения, для активации редактиварония ИД поля нужно нажать двойной клик мышки и изменить на ваше название. Затем в поле "Значение по умолчанию" прописать макроподстановку {СТУС_Цена_себестоимость}, для копирования в
него значения цены себестоимости из основного поля "Цена себестоимость" из учётной системы, затем нажать кнопку "Обновить значения"
Пример:
setup_addon_macros.png
setup_addon_macros.png (212.99 КБ) 2464 просмотра

затем в доп. настройках туннеля прописать идентификатор "ZAKUP_PRICE_TOV" для выгрузки значения из доп. поля на сайт.
Пример:
setup_addon_macros2.png
setup_addon_macros2.png (82.53 КБ) 2464 просмотра

Список доступных макроподстановок:

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

{СТИПП_Артикул_поставщика}
{СТИПП_Цена_наценка}
{СТИПП_Цена_себестоимость}
{СТИПП_ЦенаОВ_из_прайса}
{СТУС_Доставка}
{СТУС_Прибыль_Значение}
{СТУС_Прибыль_Процент}
{СТУС_Артикул}
{СТУС_Артикул_поставщика}
{СТУС_Артикул_2}
{СТУС_Наименование}
{СТУС_Наименование2}
{СТУС_Цена}
{СТУС_Цена_себестоимость}
{СТУС_Старая_цена}
{СТУС_Наличие}
{СТУС_Кол_во}
{СТУС_Описание_краткое}
{СТУС_Описание_полное}
{СТУС_Производитель}
{СТУС_Гарантия}
{СТУС_Цвет}
{СТУС_Модель}
{СТУС_Объём}
{СТУС_Ед_изм}
{СТУС_Вес}
{СТУС_Габарит}
{СТУС_ID_СТУС}
{СТУС_UUID}
{СТУС_SEO_ссылка_ЧПУ}
{СТУС_Meta_tag_title}
{СТУС_Meta_tag_description}
{СТУС_Meta_tag_keywords}
{СТУС_Код_контрагента}
{RULES_IMPORT_ADDON_TEXT1}
{RULES_IMPORT_ADDON_TEXT2}
{CAT_PARENT_ADDON_TEXT1}
{CAT_PARENT_ADDON_TEXT2}
С уважением, поддержка ElbuzGroup.
Alexx
Сообщения: 141
Зарегистрирован: 21 сен 2012 18:11

04 сен 2013 12:42

Спасибо за развернутый ответ!
Сегодня обязательно попробую и если все получится, то супер, так как судя по Списку доступных макроподстановок - это решает многие задачи.
eugen
Сообщения: 58
Зарегистрирован: 25 янв 2013 21:10

07 сен 2013 19:09

Скажите, как можно выгрузить свой тип цены вместо базового? создал доп. тип цены и именно его надо грузить в битрикс в поле цена( не свойство)...
И второй вопрос, как можно выгрузить список всех поставщиков товара? Я привязал товары от поставщиков и у некоторых есть по 3-4 поставщика. Хочу выгружать их всех на сайт. ВОзможно?
Аватара пользователя
TechAdmin
Администратор
Сообщения: 3890
Зарегистрирован: 27 авг 2008 14:30

07 сен 2013 22:33

Скажите, как можно выгрузить свой тип цены вместо базового? создал доп. тип цены и именно его надо грузить в битрикс в поле цена( не свойство)...

Вы создали доп. колонку с ценой в СТУС?
И второй вопрос, как можно выгрузить список всех поставщиков товара? Я привязал товары от поставщиков и у некоторых есть по 3-4 поставщика. Хочу выгружать их всех на сайт. ВОзможно?

Нет не возможно.
С уважением, поддержка ElbuzGroup.
eugen
Сообщения: 58
Зарегистрирован: 25 янв 2013 21:10

08 сен 2013 11:42

Да, доп. цена заведена и считает по формуле. АЙДИ цены _3V3106BDK
Айди цены на сайте 27
Аватара пользователя
TechAdmin
Администратор
Сообщения: 3890
Зарегистрирован: 27 авг 2008 14:30

08 сен 2013 11:49

Вы можете указать для шаблона экспорта выгружать доп. цену, вместо обычной цены
export_addon_price_field.png
export_addon_price_field.png (85.98 КБ) 2449 просмотров
С уважением, поддержка ElbuzGroup.
Ответить

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