Jump to content

Recommended Posts

Здравствуйте уважаемые пользователи. Ситуация такая: Есть магазин в который импортировали товары с 1с. Выбрали товары на которые постоянно будет действовать скидка 10%, выставили ее вручную для каждого из этих товаров. Пришло время обновления, обновили цены, количество и соответственно старая цена стала равна цене. Тут было просто, через phpmyadmin "UPDATE s_variants SET compare_price=price, price=price*0.9 WHERE compare_price>0" и все работало. Но при обмене с 1с некоторые товары без изменений не выгружаются и при таком подходе на эти товары получается скидка 2 раза по 10% что не хорошо. Попробовал вставить строчку

 

$sim->db->query('UPDATE __variants SET compare_price=price, price=price*0.9 WHERE compare_price>0');

в 1c_exchange.php после

 

$variant->price = $xml_variant->Цены->Цена->ЦенаЗаЕдиницу;

получаю "Call to a member function query() on a non-object" на этой строке, если поменять $sim на $simpla то обмен проходит но меняет опять все цены которые даже не менялись плюс к этому еще и скидывает по 10% 2 раза. В php я плохо разбираюсь, но подскажите где поставить проверку на условие что, если для варианта переписали цену и у него была старая цена, то цену поменять по апдейту. И что не правильно может быть в моем запросе. Спасибо за помощь.

Link to post
Share on other sites

в схеме работы 1с_exchange.php правильно? А присвоить переменную можно только так "$s=$simpla->db->query('SELECT..." или как то еще иначе, так как если исключить $simpla то почему то получаем ошибку вызов функции не для объекта? C cms, а тем более магазинами раньше не работал, поэтому плохо знаю php(только записать и прочесть из файла), а тут вообще не понятно как переменные задавать правильно. Может есть документация по симпле, где какой файл за какие функции отвечает?

Link to post
Share on other sites

Нужно в 1С сделать 2 цены. Обычную и скажем "перчеркнутую". Задать обе цены для товара и настроить обмен, чтобы из 1С затягивало обе цены.

Уменя реализованно именно так.

 

хотя нет.. не так. У меня выгружаются три цены ))) Но это сложнее, чем задача стоящая перед топикстартером. 

Link to post
Share on other sites

Пока решил следующим образом: Перед импортом товаров добавил запрос убирающий старую цену, к каждому товару добавил чекбокс действует ли скидка, после обмена для каждого товара с этим флагом скидка устанавливается снова. Но к сожалению это еще не решение проблемы. Так как в пхп еще не силен, то не могу понять, почему если переменная с запросом к базе или функции не содержит $simpla, то запрос вываливается с ошибкой. Как правильно объявить переменную или она где то в определенном месте должна быть заранее указана?

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...