Андрей Степаненко

Андрей Степаненко

С нами с 28 октября 2014; Место в рейтинге пользователей: #8
Отправить деньги
Андрей Степаненко
28 декабря 2017, 13:23
0
Сори. Готовлю обновление по управлению тв параметрами.
Этот пункт при упаковки не удалил.
Андрей Степаненко
01 декабря 2017, 14:03
+1
Спасибо, текст поправил пункт убрал
Андрей Степаненко
30 ноября 2017, 18:59
0
В планах конечно же реализовать весь этот функционал по редактированию всех полей, но учитываю сложность и разно вариантность типов вводов и выводов данных. Вряд ли получит сделать приложение мега универсальным для всех.
В общем буду думать и развивать.
Андрей Степаненко
30 ноября 2017, 18:54
0
В первую очередь имелось ввиду что эти возможности отсутствуют. Так как важность этих возможностей очень значима при покупке приложения. И дабы кого то не разочаровать я выделил этот текст.

Андрей Степаненко
03 ноября 2017, 09:14
0
На счет минимальных настроек это вы хватили)))
Там как бы часик другой надо по сидеть по разбираться что как работает даже имея опыт разработки.
Простую форму просто так не создаешь.
Если учесть что приложение универсальное, инструкцию надо по лучше делать.
Андрей Степаненко
01 ноября 2017, 05:40
0
Вообще не предусмотрено.
Но можно в скрипт залезть:

core/components/mspreceiptaccount/model/mspreceiptaccount/msporder.class.php
Строка 402
Это
array('рубль'   ,'рубля'   ,'рублей'    ,0),

Заменить на это
array('евро'   ,'евро'   ,'евро'    ,0),
Андрей Степаненко
29 сентября 2017, 08:32
0
Даже так
if (isset($xml->attributes()->Статус)) {
            $str = $this->stringXml($xml->attributes()->Статус);
            if ($str == 'Удален') {
                return;
            }
        }

        if (isset($xml->Статус)) {
            $str = $this->stringXml($xml->Статус);
            if ($str == 'Удален') {
                return;
            }
        }
Андрей Степаненко
28 сентября 2017, 06:42
0
Это не ошибка
shot.qip.ru/00RwEz-3cMfvXkLQ/

Это 1с сообщает что предложение удалено.

Тоесть необходимо проверять на наличия этого атрибута.
Если он есть то ошику не выдавать а просто пропускать.
А то журнал с ошибками засыпается записями об этом.

1С еще долго может отсылать: Статус=«Удален»
так как там сначала идет пометка на удаление.
А уже администратор помеченые на удаление будет удалять.
И только после этого исчезнет это предложение.

Что то типо такого
protected function loadStock($xml)
    {
        $uuid_1c = (array)explode('#', (string)$xml->Ид);

        if (isset($xml->attributes()->Статус)) {
            $str = $this->stringXml($xml->attributes()->Статус);
            if ($str == 'Удален') {
                return;
            }
        }
.......
Андрей Степаненко
27 сентября 2017, 06:34
0
И еще с кодировкой файла msynccataloghandler.class.php
проблема. Он в window 1251
При скачивании при кодировке соединения utf-8 в файде кракозябры получаются.
Андрей Степаненко
26 сентября 2017, 16:03
0
Да это то уже сделано.
Вопрос в том что в конце обработки всех предложений нужно запускать аналогично как и при обработки import.xml событие.

Иначе не понятно что обработка файла offes.xml завершилась
Андрей Степаненко
26 сентября 2017, 15:45
0
Предложения.
С ними беда в minishop, нормально не ипортировать характиристики, цены, остатки.
Андрей Степаненко
26 сентября 2017, 15:12
+1
А нет все это я не правильно вызвал. Так как вызывается функция mSyncAfterImport только при импорте import.xml

Можно вот так решить проблему вызова финиши или события в конце обработки файла offers.xml

Добавьте событие «mSyncAfterOffers»
$this->log("Вызвано событие mSyncAfterOffers(offers)", 1);
        $this->modx->invokeEvent('mSyncAfterOffers', array(
            'totalOffers' => $this_offer_num,
        ));

        $msg = 'Выгружено ценовых предложений: ' . $this_offer_num;
        $this->log($msg);
        unset($_SESSION['logFile']);
        return 'success' . PHP_EOL . $msg . PHP_EOL;
Андрей Степаненко
26 сентября 2017, 14:28
0
Здравствуйте.
В конце обработки (при выгрузке из админки.) не срабатывает событие mSyncAfterImport

Андрей Степаненко
25 сентября 2017, 10:26
0
У меня все работает. И даже разработка этого приложения было именно в опере.
В большем количество случаев неработает только по причине того что на сайте есть неисправные скрипты js.
Либо программист уже переделал под себя (опять же не правильно) какой то из скриптов либо minishop либо приложения.
Андрей Степаненко
22 сентября 2017, 06:28
0
Да этот вариант тоже хорошь. Но он требует повторного сохранение. Что сказывается очень сильно на производительности.
Мой код сильно не скажется на производительности, но id будет всегда уникальным.

Может лучше настройку сделать для переключения методов.
Андрей Степаненко
21 сентября 2017, 09:44
0
Еще вот здесь

/**
     * Импортирование всех цен согласно связям
     * @param $xml
     * @param $product
     * @return string Первая цена
     */
    protected function importAllPrices($xml, $product)
    {
        $selectedPrice = 0;
        $c = 0;

        if (count($xml->Цены) != 0) {
	}
а то если цен нету то ошибки сыпятся о пустом массиве.
Андрей Степаненко
21 сентября 2017, 09:29
0
Добрый день
Поменяйте на это:
// core/components/msync/processors/mgr/extend/createmsproduct.class.php

if ($this->modx->getOption('msync_alias_with_id', false)) {
	$max_id = $this->object->id;
	if (empty($max_id)) {
		$sql = 'Select max(`id`) as `maxid` from '.$this->modx->getTableName('msProduct');
		$statement = $this->modx->query($sql);
		$produtcs = $statement->fetchAll(PDO::FETCH_ASSOC);
		$max_id = $produtcs [0]['maxid'];
		$max_id = $max_id + 1;
	}
	$alias .= '-' . $max_id;
}
А то так до конца жизнь пользователи мучатся будут с генерацией уникальных url
Андрей Степаненко
01 августа 2017, 14:06
+1
Есть опыт работы с REST MODX интернет-магазин front(vue js nuxt js) в back(modx minishop)
С нуля написан, все те же возможности что и в обычном интернет-магазине
skype: webnitros
Андрей Степаненко
01 августа 2017, 14:00
0
Пару часов работы
Skype: webnitros