Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

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


Andrej1986

Recommended Posts

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

Надіслати
Поділитися на інших сайтах


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

 

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

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

Надіслати
Поділитися на інших сайтах

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

Надіслати
Поділитися на інших сайтах


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

Змінено користувачем Andrej1986
Надіслати
Поділитися на інших сайтах


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

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

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

Надіслати
Поділитися на інших сайтах


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

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

Надіслати
Поділитися на інших сайтах

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

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

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

Змінено користувачем Andrej1986
Надіслати
Поділитися на інших сайтах


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

Надіслати
Поділитися на інших сайтах


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 статуса "предзаказ".
Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.