Основная задача: есть в работе интернет-магазинв котором необходимо проставить ставку НДС, можно, конечно, в ручную... но что делать, когда товаров > 1000?
Есть несколько вариантов решения, это добавить обработчик события и SQL-запрос.
Создаем ставку НДС
Заходим в Панель управления - Магазин- Налоги - Ставки НДС.
В данной секции прописаны все ставки НДС, если нет, нужно создать.
Установить ставку НДС всем товарам
Самый простой способ установить ставку НДС всем товарам - это установить ее к всему каталогу товаров. Тогда данная ставка будет применяться ко всем товарам в каталоге.
Переходим в Настройки - Настройки продукта - Настройки модулей - Торговый каталог. Переходим к модулю Торговый каталог и устанавливаем в каталоге ставку НДС.
Теперь у всех товаров стоит ставка НДС 18%. Но, в этой схеме есть момент:
Эта ставка прибавляется к цене, указанной в карточке товара. Поэтому если у вас цены в интернет-магазин выгружены уже сучетом НДС, то необходимо всем товарам установить галочку НДС включен вцену.
Установить галочку НДС включен в цену всем товарам
Необходимо в базе данных всем товарам сменить значение VAT_INCLUDED с N на Y.
Необходимо добавить обработчик событий, чтобы ставка добавлялась товарам, которые будут заводиться вновь.
AddEventHandler("catalog", "OnProductAdd", "OnProductAdd");
function OnProductAdd($ID, $Fields) {
$res=Array("VAT_INCLUDED"=>'Y');
CCatalogProduct::Update($ID,$res);
}
Для тех товаров, которые уже есть в базе нужно выполнить SQL-запрос.
Выполняется в разделе Настройки - Инструменты - SQL-запрос.
UPDATE b_catalog_product SET VAT_INCLUDED = 'Y', VAT_ID='2' WHERE VAT_INCLUDED = 'N';
Данный SQL-запрос установит всем товарам Ставку НДС с ID=2 (в примере - это ставка 18%) и галочку НДС включен в цену всем товарам, у которых она не стоит.
В карточке товара, будет как на картинке.
Количество просмотров: 71