База знаний

18.02.2015

Проблема

Как после выгрузки новых товаров из системы 1С:Предприятие мне их найти в админке?

Решение

В DIAFAN.CMS нет выборки последних выгруженных товаров. Но Вы можете дописать ее самостоятельно так:

  • Добавить поле, например, new_import:

    ALTER TABLE {shop} ADD new_import ENUM('0', '1') NOT NULL DEFAULT '0'

  • Написать в файле выгрузки modules/shop/shop.1c.php:

    • перед выгрузкой помечать для всех товары это поле 0 (в самом начале функции import_goods()):

      DB::query("UPDATE {shop} SET new_import='0' WHERE new_import='1'");

    • для новых товаров заполнять это поле:

    строка 938 в файле:

    $id = DB::query("INSERT INTO {shop} ([name], [text], [anons], article, import_id, cat_id, site_id, timeedit, new_import) VALUES ('%h', '%s', '%s', '%h', '%h', %d, %d, %d, '1')", $xml_product->Наименование, $description, $description, $xml_product->Артикул, $good_id_1c, $cat_id, $site_id, time());
  • В админке делать выборку по этому параметру:

    Файл modules/shop/shop.admin.php по аналогии, например, с полем no_buy. Функция set_get_nav, show_search.

DIAFAN.CMS 5.4