http://forum.readyscript.ru/topic/1136/ … v-indekse/
к примеру

352

(28 ответов, оставленных в Вопросы по работе с системой)

Чтобы не делать монстра из Readyscript, надо использовать функционал  встроенных онлайн чеков. Дополнительно к Атол.онлайн добавлять модулями новые облачные или ККТс API.
Для общего случая можно использовать  https://kkmserver.ru/ или http://rnditsoft.ru/

353

(20 ответов, оставленных в Вопросы по работе с системой)

Да, действительно, перечитал тему, последний вопрос по количеству товара в разрезе размеров.

Ответ был на вопрос:

Данный функционал очень актуален для магазинов, которые продают одежду и обувь. Чтобы человек, зайдя в каталог товаров, мог выбрать, например, все кроссовки 41 размера и посмотреть, что есть в наличии, а не открывать 100 товаров и проверять его там.

354

(20 ответов, оставленных в Вопросы по работе с системой)

Так простое решение есть. Делаем характеристику  "Размеры в наличии". После обмена с 1С ,по cron-у или просто при изменении товара, заполняем данную характеристику значениями исходя из наличия в комплектациях.
И эту характеристику выводите в фильтре, а не настоящий "Размер".

Я делал фильтрацию по росту ползунком "от и до". В каждой комплектации был заполнен "рост от" и "рост до", а у товара выставлялось минимальное и максимальное значение роста для комплектаций в наличии.
Выводил в фильтр просто РОСТ.

   public static function ormAfterwriteCatalogProduct(array $params, \RS\Event\Event $event) {
        if (($params['flag'] == \RS\Orm\AbstractObject::INSERT_FLAG) ||
                ($params['flag'] == \RS\Orm\AbstractObject::UPDATE_FLAG)) { //Если это добавление 
            $min = 99999;
            $max = 0;
            $prop_rfrom = 89; //характеристика - ростовка от
            $prop_rto = 90; //характеристика - ростовка до 
            $prop_rostovka = 'Ростовка'; //характеристика - ростовка
            $product = $params['orm'];

            $offer_api = new \Catalog\Model\OfferApi();
            $offer_api->setFilter(array(
                'sortn:>=' => 0,
                'product_id' => $product['id']
            ));
            $offers = $offer_api->getList();

            foreach ($offers as $offer) {
                if ($offer['num'] > 0) {
                    $data = $offer['propsdata_arr'][$prop_rostovka];
                    if (isset($data)) {
                        $arr = explode('-', $data, 2);

                        if ($arr[0] < $min)
                            $min = preg_replace('/[^0-9]/', '', $arr[0]);
                        if ($arr[1] > $max)
                            $max = preg_replace('/[^0-9]/', '', $arr[1]);
                    }
                   
                }
            }
            if ($max > 0 && $min < 99999 && $max >= $min) {

                //выключаем ростовку от и до 
                \RS\Orm\Request::make()
                        ->delete()
                        ->from(new \Catalog\Model\Orm\Property\Link())
                        ->where("group_id is null")
                        ->whereIn("prop_id", array($prop_rfrom, $prop_rto))
                        ->exec();
                $proplink_table = \RS\Orm\Tools::getTable(new \Catalog\Model\Orm\Property\Link());
                \RS\Db\Adapter::sqlExec("INSERT IGNORE INTO {$proplink_table} (site_id, prop_id, product_id,  val_int, public, xml_id)
               VALUES (1,{$prop_rfrom},{$product['id']},{$min},0,'')");
                \RS\Db\Adapter::sqlExec("INSERT IGNORE INTO {$proplink_table} (site_id, prop_id, product_id,  val_int, public, xml_id)
               VALUES (1,{$prop_rto},{$product['id']},{$max},0,'')");
            }
        }
    }

355

(8 ответов, оставленных в Вопросы по работе с системой)

http://infostart.blog-buh.ru/public/357205/
http://tf21.ru/public/614420/
Как минимум это

356

(8 ответов, оставленных в Вопросы по работе с системой)

Нет, просто скормите обработке 1С ссылку на YML, который выдаст REadyScript.
Раздел меню "Экспорт данных". Добавляете новый профиль экспорта с типом "Яндекс.Маркет" и в таблице будет выведена ссылка на файл для Яндекс.Маркет. Вот эту ссылку и используйте.

ustasby, для одномерного массива да, все просто.
А вот когда для выбора комплектации используется  2-3 и более  характеристики, то уже все усложняется.
Появляются сочетания характеристик, комплектаций для которых не существуют или они не в наличии. И получается, что нужно при выборе первой во второй и последующей скрывать отсутствующие характеристики и т.д.

358

(8 ответов, оставленных в Вопросы по работе с системой)

Здравствуйте, Андрей! Все решается очень просто. Есть множество обработок 1с  для загрузки файлов Яндекс.Маркет - YML.
Настройте экспорт в Яндекс.маркет в RS и загрузите данный файл в 1С. Готово)
Перенесутся и изображения и характеристики.

Мда... недавно капчу несколько раз пройти не мог) Я - бот?)))

Сам же пункт меню выводится в шаблоне, вот к нему и добавляется класс.

361

(28 ответов, оставленных в Вопросы по работе с системой)

Ну или вот ссылочка https://online-check.business.ru/
500 рублей в месяц для использования API собственной кассы.

Кстати, а у Dreamkas тоже неплохое предложение.
https://dreamkas.ru/54fz/internet-magazinam/
Касса Дрикасс+Ф в районе 20 000 руб. + бесплатное API.
Модули для OpenCart, WP уже готовы, можно подглядеть и реализовать свой.

Здравствуйте!
1. Данный функционал делается допмодулями.
2. Имеется выгрузка каталога товаров в yml, поэтому можно загружать обработкой 1с по ссылке свежий прайс хоть каждый день.
Разработка под RS значительно проще битрикса. А сам движек намного быстрее.

363

(28 ответов, оставленных в Вопросы по работе с системой)

Все сервисы аренды касс для небольших магазинчиков дорогие((
Есть обход с nextpay.ru, так как они формируют платежки от имени покупателя.
Есть invoicebox.ru. По агентскому договору они бьют чеки. Комиссия около 3,3-3,5% Компания обслуживает карты "Тройка" и некоторые авиакомпании.
Аналогичный сервис https://b2cpl.ru/news/b2cpl-anonsiruet- … layn-kassa
На днях подключу ИнвойсБокс, протестирую их решение.

Я реализовывал для неограниченного количества характеристик. Достаточно муторная задача. Требуется переписывать скрипт, работающий с многомерными комплектациями.

Отличная идея, поддерживаю. Напишите в разделе пожеланий, думаю добавят.

Здравствуйте!
Несколько клиентов заинтересовались приложением. Вопрос в переопределении стандартных страниц.
В документации ответов не нашел.
Шаблоны страниц берутся из view модуля  mobilesiteapp или зашиты в приложение?
Возможно ли тестировать шаблон на демо-приложении?
Срабатывают ли стандартные хуки модулей при работе приложения?

367

(8 ответов, оставленных в Вопросы по Маркетплейсу)

Бывает необходимость указывать конкретную цену, а не скидку общую для товаров.
Пример: У категории чернила наценка 100%, скидки могут быть до 80% у оптовиков, а у техники для офиса наценка от 10% до 20% и скидка 80% уже не проставить, поэтому используется именно вид цены, а не скидка.

Заказы без регистрации было бы неплохо штатным способом отключать. Половина клиентов просит отключить, половина просит оставить.

+ за новый интерфейс. Многое удобнее, хотя сначала и непривычно.

Лучше в своей теме сайта сделайте правку данных файлов.
Перепишите файл в \templates\ТЕМА САЙТА\moduleview\onepageorder\templates\ТЕМА МОДУЛЯ\checkout\confirm.tpl

371

(1 ответов, оставленных в Вопросы по работе с системой)

Здравствуйте!
Все файлы, связанные с импортом из 1с, хранятся в папке storage/exchange в корне. Там и текущий импорт и история импорта (если настроено в модуле)

Спасибо за расширенный ответ!
Действительно, из за 54-ФЗ теперь надо быть чеки на все и вся. Если скидка на товар в % можно прописать в общем чеке, то скидка суммой по факту является аналогом подарочного сертификата и необходимо бить отдельный чек для оплаты сертификатом.
А вот для оптовых интернет-магазинов, когда расчеты ведутся между юридическими лицами, такой проблемы нет.

Идея была в использовании купонов как подарочных сертификатов. Т.е. при продаже товара определенного типа формируется купон, отправляется пользователю.

Здравствуйте, коллеги!
Заметил, что купоны можно настроить только со скидкой в %. Как правильно расширить функционал модуля и ввести скидку на сумму?
Я посмотрел в код. В нем есть вычисление скидки как суммы, так и процента:

 function getDiscountValue($price, $use_currency)
    {
        //Определяем сколько вычитать.
        if ($this['discount_type'] == '%') {
            $delta = ($price * $this['discount']/100);
        } else {
            $delta = $this['discount'];
            if ($use_currency) {
                $delta = \Catalog\Model\CurrencyApi::applyCurrency($delta);
            }
        }
        if ($this['round']) {
            $delta = round($delta);
        }
        
        return $delta;
    } 

Но при настройке скидки невозможно ничего выбрать, кроме "%":

 'discount_type' => new Type\Enum(array('', '%'), array(
                'description' => t('Скидка указана в процентах или в базовой валюте?'),
                'listFromArray' => array(array(
                    '%' => '%'
                )),
                'visible' => false
            )),

Сделал быстро с помощью jquery плагина DataTables. Получилось очень удобно. Одна из фишек этого плагина - выгрузка таблицы в XLS, CSV, PDF и фильтрация на лету.

Пробовал вариант с пагинацией на стороне php (просто отсекал массив товаров в шаблоне), но неудобно всю страницу перезагружать каждый раз при переходе со страницы на страницу.

Хочу попробовать изменить скрипт обновления товаров при изменении количества и удалении, чтобы загружать только информацию о текущем товаре и итогах корзины, а не всю корзину сразу.

Здравствуйте!
Возникла пара вопросу по данному модулю.
1. Каким образом отправлять письма раз в N дней?
Сейчас пишу дополнение для отправки товаров из определенной категории  раз в 10 дней.
Необходимо будет самостоятельно реализовать обработку события планировщика задач в модуле или можно настроить через новый объект TriggerType?

2. Механизм рассылки. Проверка срабатывания триггера и отправка у шаблона письма происходит 1 раз в день? Не получится так, что из за неверной настройки каждые 10 минут будут отправляться клиенту одни и те же письма?