Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

usergio

Users
  • Posts

    6,005
  • Joined

  • Last visited

Everything posted by usergio

  1. Обновление. - 5 новых функций для работы с опциями. - исправил все баги, которые вы нашли за последний месяц - сделал загрузку Серий не по ID, а по SKU так удобнее. - Инструмент "Преобразовать Модель в Код товара" лепит всем товарам поставщика 01 (в процессе обновления товаров по прайсам, он изменится на правильный). - теперь при парсинге атрибутов, удаляются лишние пробелы (крайние и внутренние). - теперь описание можно собирать из разных колонок прайса, перечислив, через запятую их номера в поле: http://prntscr.com/8zeolk - работают Акции и Скидки с учетом "Валюты Плюс" - при ручном создании заказа, фиксируется цена закупки на товар. - и много мелочей :)
  2. Модуль «понимает» прайс-листы только в формате xml, причем, подойдет не любой xml, а именно xml, созданный Экселем Виндовз! Если вы получили прайс-лист не в Экселе, а в формате xml или csv, прочтите его Экселем. Он попросит вас предоставить шаблон для преобразования, но вы разрешите сделать преобразования по его собственному усмотрению. Откроется обычная таблица, сохраните ее, как: «Другие форматы» – «Таблица xml 2003». Такой файл уже можно скармливать модулю. Для работы с прайс-листом, нам удобнее видеть его колонки, пронумерованные цифрами, а не буквами. Нажмите на круг в левом-верхнем углу Экселя, в самой нижней части выпавшего окна, вы увидите кнопку «Параметры Excel», жмите на нее. Затем, «Формулы» и поставьте галочку напротив «Стиль ссылок R1C1». stock_bbt.zip
  3. 1. Нет, конечно, обновляются все цены товаров у которых в прайсе стоит тот же Артикул, что и в магазине и: - остаток товара в прайсе не равен 0 - и товар не внесен в список исключений - exception.xml На префикс поставщика, модуль обращает внимание только в смысле: принадлежит ли товар тому же поставщику, прайс которого вы сейчас прогоняете. Т.е. родной поставщик или чужой. Если поставщик родной, то модуль может поставить в магазине 0 на остатке, как в прайсе, но цену не обновит Если чужой - модуль не поставит 0 на остатке и цену не обновит. Если товар принадлежит Главному поставщику ( 123456~02 ), то обновить его сможет только поставщик 02, при условии, что в форме включен чекбокс "Главный поставщик". Но когда товар Главного поставщика закончится, символ ~ меняется на - значит, этот товар, теперь сможет обновлять любой поставщик. При обновлении товара, префикс поставщика в товаре меняется на префикс формы, это нужно для того, чтобы вы знали, где заказывать товар. Если вы включили кнопку "Обновлять цену, если цена снизилась", то после прогона прайсов всех поставщиков, в товаре окажется минимальная цена. И префикс поставщика в коде товара укажет вам, какой поставщик выиграл сражение за товар :) 2. Просто прогнать прайс этого производителя, чтобы в прайсе были ненулевые остатки товаров. 3. Конечно можно, это будет означать, что товар сменил поставщика
  4. Пока в модуле сделано так, что несколько одинаковых товаров от разных поставщиков, представляются одним товаром с наименьшей ценой, среди поставщиков. Однако, по просьбе "авто-запчастистов" планирую в версии 8.5 сделать кнопку, типа: "Учитывать поставщика в артикуле товара". Тогда, можно будет добавлять в магазин и обновлять несколько товаров с одинаковыми артикулами, но от разных поставщиков.
  5. А есть какой-то признак производителя Елочка в прайсе? Если есть, то можно обнулить цены у Елочки с помощью средств Экселя, тогда модуль пропустит эти товары. В общем, вашу задачу можно сформулировать, как "Обновлять товары по определенному признаку". В частности, я эту задачу решил: этим признаком является Цена: http://prntscr.com/8wnz2a Просто, больше ничего не пришло в голову, хотел получить в магазине самые низкие цены. Такой вариант вас не устраивает?
  6. Код товара в виде хххххх-уу это священная корова модуля. Модуль сам его формирует для каждого создаваемого товара. Это большая помощь менеджеру магазина. уу - это код поставщика, если у вас будет несколько поставщиков, то менеджер легко определит время доставки товара. ххххх - это порядковый номер товара в БД. Если вы добавили новые товары неправильно и хотите удалить только их, то вы можете указать диапазон номеров и удалить товары этого диапазона. Посмотрите видео "Прощание с моделью". Код товара не участвует в поиске товара (товар ищется по артикулу), он нужен только для определения поставщика. Если у поставщика 02 цена на товар меньше, чем у поставщика 01, то модуль поменяет префикс: ххххх-02 Плюс, если в прайсе у товара стоит кол-во =0, то модуль не поставит товару 0 на остатке, если поставщик - чужой (товар принадлежит не этому поставщику). Плюс, в префиксе поставщика может отражаться, что этот поставщик - главный (т.е. ваш собственный склад), тогда никакой другой поставщик не сможет обновить цену и остаток товара, пока товар не закончится!!! Вы можете сохранить ваши старые коды товаров, скопировав их в любое свободное поле, а потом вывести это поле в карточку товара на сайте: http://prntscr.com/8urma9 Только включите "Поставщики Все". Как вытащить поле на сайт, подскажу.
  7. В БД не хватает кучи новых полей. Такое бывает, если долго не обновлять версию модуля, ведь в каждой новой версии, я добавляю новые поля в таблицы БД (для обеспечения работы новых функций). Есть полный список полей, добавленных в модуль после версии 6.3 и до последней 8.4 Этот список постоянно дополняется. Он лежит в дистрибутиве в файле readme_upgrade from 6.3 and latest version to 8.4 : 6. Добавьте в таблицы БД поля, для этого: - в тексте, который вы видите ниже, исправьте везде, префикс БД (у меня в БД это "oc_", у вас может быть другой), если вы, вообще, используете префикс. Скопируйте исправленный текст: ALTER TABLE `oc_suppler` ADD `parsq` VARCHAR( 3 ) NOT NULL ; ALTER TABLE `oc_suppler` ADD `qu_discount` VARCHAR( 128 ) NOT NULL ; ALTER TABLE `oc_suppler_sku_description` ADD `store_id` INT( 2 ) NOT NULL ; ALTER TABLE `oc_suppler` ADD `bonus` VARCHAR( 64 ) NOT NULL ; ALTER TABLE `oc_suppler` ADD `ddesc` VARCHAR( 1 ) NOT NULL ; ALTER TABLE `oc_suppler` ADD `pointq` VARCHAR( 64 ) NOT NULL ; ALTER TABLE `oc_suppler` ADD `placeq` VARCHAR( 5 ) NOT NULL ; ALTER TABLE `oc_suppler` ADD `bprice` VARCHAR( 3 ) NOT NULL ; ALTER TABLE `oc_suppler` ADD `kmenu` VARCHAR( 3 ) NOT NULL ; ALTER TABLE `oc_suppler` ADD `ratep` DECIMAL( 12,4 ) NOT NULL ; ALTER TABLE `oc_suppler` ADD `ratek` DECIMAL( 12,4 ) NOT NULL ; ALTER TABLE `oc_suppler_base_price` ADD `bmin` DECIMAL( 12,4 ) NOT NULL ; ALTER TABLE `oc_suppler_base_price` ADD `bav` DECIMAL( 12,4 ) NOT NULL ; ALTER TABLE `oc_suppler_base_price` ADD `bmax` DECIMAL( 12,4 ) NOT NULL ; ALTER TABLE `oc_suppler_seo` ADD `prod_keyword` VARCHAR( 1000 ) NOT NULL ; ALTER TABLE `oc_suppler_seo` ADD `prod_h1` TEXT NOT NULL ; ALTER TABLE `oc_suppler_seo` ADD `prod_photo` TEXT NOT NULL ; ALTER TABLE `oc_suppler` ADD `plusopt` VARCHAR( 1 ) NOT NULL ; ALTER TABLE `oc_suppler` ADD `idcat` VARCHAR( 1 ) NOT NULL ; ALTER TABLE `oc_suppler_base_price` ADD `optimal` DECIMAL( 12,4 ) NOT NULL ; ALTER TABLE `oc_suppler_base_price` ADD `market_percent_to_price` DECIMAL( 6,3 ) NOT NULL ; ALTER TABLE `oc_suppler_base_price` ADD `market_percent_to_bprice` DECIMAL( 6,3 ) NOT NULL ; ALTER TABLE `oc_suppler_base_price` ADD `market_percent_to_bdprice` DECIMAL( 6,3 ) NOT NULL ; ALTER TABLE `oc_suppler` ADD `t_ref` VARCHAR( 3 ) NOT NULL ; ALTER TABLE `oc_suppler` ADD `termin` VARCHAR( 3 ) NOT NULL ; ALTER TABLE `oc_suppler` ADD `t_status` VARCHAR( 255 ) NOT NULL ; ALTER TABLE `oc_suppler` ADD `onoff` varchar( 1 ) NOT NULL ; ALTER TABLE `oc_suppler` ADD `zero` VARCHAR( 1 ) NOT NULL ; ALTER TABLE `oc_suppler` ADD `metka` VARCHAR( 1 ) NOT NULL ; ALTER TABLE `oc_suppler` ADD `jopt` varchar( 1 ) NOT NULL ; ALTER TABLE `oc_suppler` ADD `optsku` VARCHAR( 1 ) NOT NULL ; ALTER TABLE `oc_suppler` ADD `newproduct` VARCHAR( 5 ) NOT NULL ; ALTER TABLE `oc_suppler_options` ADD `art` varchar( 3 ) NOT NULL ; ALTER TABLE `oc_relatedoptions` ADD `price` DECIMAL( 15,4 ) NOT NULL ; ALTER TABLE `oc_relatedoptions` ADD `model` VARCHAR( 64 ) NOT NULL ; ALTER TABLE `oc_relatedoptions` ADD `defaultselect` tinyint(1) NOT NULL ; ALTER TABLE `oc_relatedoptions` ADD `defaultselectpriority` int(11) NOT NULL ; ALTER TABLE `oc_relatedoptions` ADD `weight` decimal(15,8) NOT NULL ; ALTER TABLE `oc_relatedoptions` ADD `weight_prefix` varchar(1) NOT NULL ; ALTER TABLE `oc_suppler_price` ADD `noprice` VARCHAR( 64 ) NOT NULL ; ALTER TABLE `oc_suppler_price` ADD `paramnp` VARCHAR( 128 ) NOT NULL ; ALTER TABLE `oc_suppler_price` ADD `pointnp` VARCHAR( 64 ) NOT NULL ; ALTER TABLE `oc_suppler_price` ADD `baseprice` INT( 1 ); ALTER TABLE `oc_suppler` ADD `main` INT( 1 ); ALTER TABLE `oc_suppler_sku_description` MODIFY `sku` VARCHAR( 64 ) NOT NULL ; ALTER TABLE `oc_suppler_options` ADD `foto` VARCHAR( 3 ) NOT NULL ; ALTER TABLE `oc_suppler` ADD `opt_prices` VARCHAR( 1 ) NOT NULL ; ALTER TABLE `oc_suppler` ADD `opt_fotos` VARCHAR( 1 ) NOT NULL ; ALTER TABLE `oc_suppler_attributes` ADD `filter_group_id` INT( 11 ) NOT NULL ; ALTER TABLE `oc_suppler` ADD `ref1` VARCHAR( 3 ) NOT NULL ; ALTER TABLE `oc_suppler` ADD `t_ref1` VARCHAR( 3 ) NOT NULL ; ALTER TABLE `oc_suppler` ADD `usd` VARCHAR( 3 ) NOT NULL ; ALTER TABLE `oc_suppler` ADD `serie` VARCHAR( 3 ) NOT NULL ; ALTER TABLE `oc_suppler` ADD `sleep` VARCHAR( 1 ) NOT NULL ; ALTER TABLE `oc_suppler` ADD `ffile` VARCHAR( 1 ) NOT NULL ; ALTER TABLE `oc_suppler_options` ADD `opt_point` VARCHAR( 64 ) NOT NULL ; ALTER TABLE `oc_suppler_ref` ADD `price` DECIMAL( 15,4 ) NOT NULL ; ALTER TABLE `oc_suppler_attributes` ADD `filter_group_id` INT( 11 ) NOT NULL ; ALTER TABLE `oc_product_option_value` ADD `optsku` VARCHAR( 64 ); ALTER TABLE `oc_order_product` ADD `bprice` DECIMAL( 15,4 ); ALTER TABLE `oc_suppler` MODIFY `pic_ext` VARCHAR( 128 ) NOT NULL ; ALTER TABLE `oc_suppler` MODIFY `warranty` VARCHAR( 512 ) NOT NULL ; ALTER TABLE `oc_suppler` MODIFY `cheap` VARCHAR( 3 ) NOT NULL ; ALTER TABLE `oc_suppler_seo` MODIFY `prod_title` TEXT NOT NULL ; ALTER TABLE `oc_suppler_seo` MODIFY `prod_meta_desc` TEXT NOT NULL ; ALTER TABLE `oc_suppler_seo` MODIFY `cat_title` TEXT NOT NULL ; ALTER TABLE `oc_suppler_seo` MODIFY `cat_meta_desc` TEXT NOT NULL ; ALTER TABLE `oc_suppler_seo` MODIFY `manuf_title` TEXT NOT NULL ; ALTER TABLE `oc_suppler_seo` MODIFY `manuf_meta_desc` TEXT NOT NULL; ALTER TABLE `oc_suppler` MODIFY `ad` VARCHAR( 2 ) NOT NULL ; ALTER TABLE `oc_suppler` MODIFY `spec` VARCHAR( 128 ) NOT NULL ; ALTER TABLE `oc_suppler_options` MODIFY `opt` VARCHAR( 64 ) NOT NULL ; ALTER TABLE `oc_suppler_options` MODIFY `pr` VARCHAR( 64 ) NOT NULL ; ALTER TABLE `oc_suppler_options` MODIFY `pr` VARCHAR( 64 ) NOT NULL ; - зайдите через phpMyAdmin в БД магазина, вставьте этот текст в закладку SQL и нажмите OK. Если выдалась ошибка в какой-то строке: "Dublicate...", удалите эту строку из вставленного текста и нажмите ОК еще раз. Делайте так, пока все не удалите или пока SQL не скажет готово. Видите, в этом списке есть все поля, на которые ругается Опенкарт: ref1 t_ref1 usd .................. Если вы устанавливаете модуль "с нуля", то он сам создаст таблицы с правильными полями, при первом запуске "Поставщики", поэтому, никаких исправлений в таблицы модуля делать не придется (кроме ускорения readme_speed). Но если вы еще ни разу не запускали "Поставщики", то ускорение выдаст ошибку: нет таблиц для ускорения :) Запустите "Поставщики", а потом идите в БД. На сегодня, есть 2 поля, которые я добавляю в стандартные таблицы самого Опенкарта, это: optsku - предназначенное для хранения артикулов в опциях bprice - для хранения закупочной цены товара и вычисления прибыли магазина. Добавить их нужно обязательно: ALTER TABLE `oc_product_option_value` ADD `optsku` VARCHAR( 64 ); ALTER TABLE `oc_order_product` ADD `bprice` DECIMAL( 15,4 ); Можно по одному
  8. Обновление. Замените только 1 файл admin/model/catalog/suppler Интересный ньюанс: если в товаре удалить опцию, то в связанных опциях она останется и будет равна нулю ((( Из за этого, модуль создавал лишние связки опций и получалось так http://prntscr.com/8tvzvy Исправил это. Сделал теперь так, что поставщик может обнулить остаток товара, но только если товар принадлежит именно этому поставщику. Т.е. теперь разрешается остатку товара в прайсе быть = 0. Увеличил количество переходов по редиректу, раньше было 3, сделал 5: был сегодня случай, когда 3-х не хватило(
  9. Версия 8.4 Поддержка Серий товаров http://www.opencart.com/index.php?route=extension/extension/info&extension_id=7959 Автоматическое заполнение стандартного опенкартовского Фильтра указанным атрибутом товара из Инструментов. Наконец, правильное вычисление суммы продаж и прибыли магазина (за указанный период, по указанному поставщику). И конечно, исправил кучу багов, спасибо вам :)
  10. Осторожнее с антиплагиатором. Когда-то увлекся, понаделал вставок, получилось примерно такое: Частота процессора (от частоты процессора зависит скорость работы компьютера) - 3.2 ГГц, емкость HDD - 1 TB, частота процессора (от частоты процессора зависит скорость работы компьютера) видеокарты -.... Ржач, но 85% оригинальности получил :)
×
×
  • Create New...

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.