Slider Posted December 3, 2013 Report Share Posted December 3, 2013 Здравствуйте уважаемые пользователи. Ситуация такая: Есть магазин в который импортировали товары с 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 я плохо разбираюсь, но подскажите где поставить проверку на условие что, если для варианта переписали цену и у него была старая цена, то цену поменять по апдейту. И что не правильно может быть в моем запросе. Спасибо за помощь. Quote Link to post Share on other sites
Slider Posted December 3, 2013 Author Report Share Posted December 3, 2013 в схеме работы 1с_exchange.php правильно? А присвоить переменную можно только так "$s=$simpla->db->query('SELECT..." или как то еще иначе, так как если исключить $simpla то почему то получаем ошибку вызов функции не для объекта? C cms, а тем более магазинами раньше не работал, поэтому плохо знаю php(только записать и прочесть из файла), а тут вообще не понятно как переменные задавать правильно. Может есть документация по симпле, где какой файл за какие функции отвечает? Quote Link to post Share on other sites
Slider Posted December 3, 2013 Author Report Share Posted December 3, 2013 Спасибо, kors. Эту самую страницу я и находил в поиске Quote Link to post Share on other sites
SV911 Posted December 3, 2013 Report Share Posted December 3, 2013 Нужно в 1С сделать 2 цены. Обычную и скажем "перчеркнутую". Задать обе цены для товара и настроить обмен, чтобы из 1С затягивало обе цены.Уменя реализованно именно так. хотя нет.. не так. У меня выгружаются три цены ))) Но это сложнее, чем задача стоящая перед топикстартером. Quote Link to post Share on other sites
Slider Posted December 6, 2013 Author Report Share Posted December 6, 2013 Пока решил следующим образом: Перед импортом товаров добавил запрос убирающий старую цену, к каждому товару добавил чекбокс действует ли скидка, после обмена для каждого товара с этим флагом скидка устанавливается снова. Но к сожалению это еще не решение проблемы. Так как в пхп еще не силен, то не могу понять, почему если переменная с запросом к базе или функции не содержит $simpla, то запрос вываливается с ошибкой. Как правильно объявить переменную или она где то в определенном месте должна быть заранее указана? Quote Link to post Share on other sites
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.