Jump to content
Sign in to follow this  
Andrej1986

[Решено?..] Не вычитать со склада для всех товаров со статусом "предзаказ"

Recommended Posts

Здравствуйте. Подскажите, может кто-то делал подобное, как сделать, чтобы у всех товаров с определённым статусом на складе (например "предзаказ") автоматически проставлялся статус "не вычитать со склада" у самого товара и у всех его опций?

Share this post


Link to post
Share on other sites

а товары как заводятся в магазине?

 

если вручную - просто копируйте товар, в котором нужное уже выставлено, скопируется в новый

если через импорт - при импорте и выставлять нужное

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

Или может кто-то подскажет, как записать запрос, чтобы если статус у товара "предзаказ"(stock_status_id=8 из таблицы product), то выставить статус у опций "не вычитать со склада"(substract=0 из таблицы product_option_value)?

Edited by Andrej1986

Share this post


Link to post
Share on other sites

Может можно как-то так?

UPDATE product_option_value
SET subtract=0
FROM product_option_value
JOIN product ON product_option_value.product_id = product.product_id
WHERE product.stock_status_id=8

В какой-то функции вставить типа такого запроса и прикрепить к кнопке?

Share this post


Link to post
Share on other sites

надо изменять модуль, который принимает и обрабатывает выгрузку из 1с.

для этого надо знать, какой модуль используется, какой там код, и что-как выгружается из 1с.

Share this post


Link to post
Share on other sites

надо изменять модуль, который принимает и обрабатывает выгрузку из 1с.

для этого надо знать, какой модуль используется, какой там код, и что-как выгружается из 1с.

Так а при чём здесь выгрузка? Если вручную у некоторых товаров после выгрузки проставляется "предзаказ"? В 1С нет такого, это если самому дописывать какое-то поле номенклатуры и выставлять статус в 1С, то тогда выгрузку переделывать есть смысл, а так не понятно какому товару присваивать "предзаказ", а какому нет. Товар есть и по предзаказу и просто в наличии. Не хочется вручную просто менять каждый раз ещё и вычитание со склада. Или просто кнопку в админке прицепить с правильным запросом - если товар по предзаказу, то не вычитать и его, и опции

Edited by Andrej1986

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

admin/model/catalog/product.php

найти

public function addProduct($data) {...
public function editProduct($product_id, $data) {...
сделать внутри

1.

subtract = '" . (int)$data['subtract'] . "', stock_status_id = '" . (int)$data['stock_status_id'] . "'
>>

subtract = '" . ((int)$data['stock_status_id'] == 999) ? 0 : (int)$data['subtract'] . "', stock_status_id = '" . (int)$data['stock_status_id'] . "'
2.

subtract = '" . (int)$product_option_value['subtract'] . "'
>>

subtract = '" . ((int)$data['stock_status_id'] == 999) ? 0 : (int)$product_option_value['subtract'] . "'
вместо 999 - id статуса "предзаказ".

Share this post


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
You are posting as a guest. If you have an account, please sign in.
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.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.