-
Публікації
26 -
З нами
-
Відвідування
Тип публікації
Профілі
Форум
Маркетплейс
Статті
FAQ
Наші новини
Магазин
Блоги
module__dplus_manager
Повідомлення, опубліковані користувачем yaroslav_29
-
-
-
В 01.01.2024 в 14:27, ibond сказав:
С НП и симплой будут проблемы с select2, особенно если это крупный город и много отделений, аджакс будет подвисать. Используйте input.
Якщо вантажити повні довідники то так, пробував на ось цьому прикладі https://t.briefs.km.ua/1.php критичних підвисань не помічав
-
В 01.01.2024 в 12:18, Flint2000 сказав:
@yaroslav_29 а вам критично саме select2 використовувати?
Не критично, розглядаю будь які варіанти, но маю бажання щоб люди могли обрати тільки із запропонованого варіанту списку. Тим часово зробив так
Но хочу щоб запрацювало схоже на ось це
-
Намагаюсь додати поле із пошуком міст нової пошти. В адмінці Simple додаю ось такий JS код
$('#shipping_address_mistojava').select2({ placeholder: 'Введіть місто', minimumInputLength: 1, ajax: { url: '/NovaPoshta/file.php', method: 'post', dataType: 'json', delay: 500, data: function (params) { return { q: params.term, }; }, processResults: function (data) { return { results: data, }; }, cache: true, }, });
Все ніби починає працювати
Після початку введення, пропонує міста і можна обрати потрібне
Но тільки даний вибір не зберігається під час оновлення блоків, а при фоормленні поле також не передається.
Підкажіть що можна зробити щоб то все запрацювало коректно?
-
В 15.06.2023 в 14:16, dev_arm923i сказав:
Доброго дня! Вдалось знайти потрібний модуль? Також зацікавивсь даним питанням
-
День добрый! Использую УТ 3,2, подскажите как организовать выгрузку скидки по купону на сайте в заказ 1с. Возможно есть ссылка, где об этом можно почитать.
-
Проблема с выгрузкой опций товара в заказ была в неправильно написанном запросе в базу, не хватало "="В функции private function updateOrderProduct нужно изменить запрос с
$this->query("INSERT INTO `" . DB_PREFIX . "order_option` SET order_id = " . (int)$order_id . ", order_product_id = " . (int)$order_product_id . ", product_option_id = " . (int)$option['product_option_id'] . ", product_option_value_id " . (int)$option['product_option_value_id'] . ", name = '" . $this->db->escape($option['name']) . "', value = '" . $option['value'] . "', type = '" . $option['type'] . "'");
на такой$this->query("INSERT INTO `" . DB_PREFIX . "order_option` SET order_id = " . (int)$order_id . ", order_product_id = " . (int)$order_product_id . ", product_option_id = " . (int)$option['product_option_id'] . ", product_option_value_id = " . (int)$option['product_option_value_id'] . ", name = '" . $this->db->escape($option['name']) . "', value = '" . $option['value'] . "', type = '" . $option['type'] . "'");
-
День добрый! Подскажите как организовывали выгрузку заказов на сайт после смены в 1С. Тот вариант который сейчас есть в модуле, при удалении товара в 1С на сайте его не удаляет. А при добавлении товара не передает его характеристику, а только саму номенклатуру.
-
21 хвилину назад, Espresso.Doktor сказав:
Благодарю я читал этот пост, я чуток вижу это по другому, у меня в 1С-ке 8.3 на неуправляемых формах, есть документ установка скидок, выглядит так:
Как видим есть даты начала действия скидки и конца.
Указан конкретный товар и скидка 20%
На сайте уже в карточке товара уже есть заготовка куда % должна прилететь.
Фактически есть уже даже ребенку ТЗ будет понятно, как со стороны 1С-ки та и со стороны OpenCart, хотя я могу ошибаться
Единственное что я пока не могу сообразить, куда эти 20% записываются на сайте
А у Вас как скидка из 1с выгружается? В стандартном обмене от 1с я такого не видел?
-
Если загружаю пустые опции для товара, то минимальная цена для товара не меняется. Если я правильно понял нужно изменить данную фунцию
Прихований текстprivate function getProductFeaturesQuantityPrice($product_id) { $data_quantity = array(); $data_price = array(); $price_min = 0; $price_max = 0; $quantity_total = 0; $query = $this->query("SELECT `product_feature_id`,`quantity`,`price` FROM `" . DB_PREFIX . "product_feature` WHERE `product_id` = '" . $product_id . "'"); if ($query->num_rows) { foreach ($query->rows as $feature) { // Значения $data_value = array(); $query_value = $this->query("SELECT `product_option_id`,`product_option_value_id` FROM `" . DB_PREFIX . "product_feature_value` WHERE `product_feature_id` = '" . $feature['product_feature_id'] . "'"); foreach ($query_value->rows as $value) { $data_value[$value['product_option_value_id']] = array( 'product_option_id' => $value['product_option_id'], 'product_option_value_id' => $value['product_option_value_id'], 'price' => $feature['price'] ); //***** if ($price_min > $feature['price'] || $price_min == 0) { $price_min = $feature['price']; } //***** if ($price_max < $feature['price']) { $price_max = $feature['price']; } } $data_quantity[$feature['product_feature_id']] = $feature['quantity']; $quantity_total += $feature['quantity']; $data_price[$feature['product_feature_id']] = $data_value; } } $data = array( 'quantity' => $data_quantity, 'price' => $data_price, 'price_min' => $price_min, 'price_max' => $price_max, 'quantity_total' => $quantity_total ); return $data; } // getProductFeaturesQuantityPrice()
-
8 годин назад, Espresso.Doktor сказав:
Дописал код, обмен прошел успешно, но не сработало, уже и кеш чистил, и модификатор обновлял.
Вообще товары у которых выставил значение "Минимальное количество в упаковке" вообще не парсятся
Вечером, хочу проверить или 1С-ка выгружает эти артикулы, ибо стоит полная выгрузка.
При этом в exchange1c.log не вижу что бы парсились эти артикулы.
Если закоментить эти строки, то они появляются в exchange1c.log
Еще я обратил внимание на поле в карточке товара "начало продаж", то есть его тоже можно использовать для нового товара.
Правда еще не тестировал, как сама дата начала продаж работает, и что происходит на витрине.
Смотрите правильный ли синтаксис кода, я Вам показал логику
-
11 година назад, Espresso.Doktor сказав:Прихований текст
case 'Кількість в упаковці': $this->log("Мінімальна кількість в упаковці из свойства"); $search = array(',', ' '); $replace = array('.', ''); $data['minimum'] = str_replace($search, $replace, $attribute_value); if($data['minimum']>1){ $data['multipleminimumqty'] = 1; } break;
Попробуйте вот так, синтаксис кода нужно проверить. Я показал самую логику. И еще нужно смотреть как multipleminimumqty передается в базу
-
Нашел несколько косяков которые б помог исправить. Модуль переделываю под себя, но к общей работе присоединился бы
-
1 годину назад, Espresso.Doktor сказав:
У меня так прописано в файле :
//Мінімальна кількість в упаковці (замовлення на сайте), кількість задаємо у 1С; case 'Кількість в упаковці': $this->log("Мінімальна кількість в упаковці из свойства"); $search = array(',', ' '); $replace = array('.', ''); $data['minimum'] = str_replace($search, $replace, $attribute_value); break;
А ось так выглядит в файле import.xml :
<ЗначенияСвойств> <ЗначенияСвойства> <Ид>f4bbb133-81de-11eb-8219-06255c25ce9f</Ид> <Значение>5</Значение> </ЗначенияСвойства> </ЗначенияСвойств>
case 'Кількість в упаковці' Замените на case 'Минимальное количество для заказа'
Должно быть название которое указано у Вас в 1с
- 1
-
7 годин назад, Espresso.Doktor сказав:
а розкоментувалы код который я сбросил?
Прихований текст// 'Мінімальне замовлення'- заменить на то значение которое задано у Вас в 1с case 'Мінімальне замовлення': $this->log("Минимальный заказ из свойства"); $search = array(',', ' '); $replace = array('.', ''); $data['minimum'] = str_replace($search, $replace, $attribute_value); break;
-
3 години назад, Espresso.Doktor сказав:
А в 1С-ке как это реализовано ?
Можно скрин?
Выгружается Минимальное количество или может Минимальное количество + цена по количеству ?
( например 10 шт по цене 2 монеты/ 25 шт по цене 1,75 монет/ 50 шт по цене 1,5 монет/ 100 шт по 1,25 монет)
Выгружается только минимальное количество, в 1с задано реквизит, "минимальное количество для заказа", которое передается в opencart в соответствующее поле.
В private function parseProductAttributes($xml, &$data) добавлено код, который закомментирован. Это не совсем верно, но меня устраивает
Прихований текстprivate function parseProductAttributes($xml, &$data) { $product_attributes = array(); //$this->log($data, 2); if (empty($this->ATTRIBUTES)) { $this->ATTRIBUTES = $this->getAttributes(true); $this->ATTRIBUTE_GROUPS = $this->getAttributeGroups(); } // Название элемента с производителем $manufacturer_tag = 'Производитель'; if ($this->config->get('exchange1c_product_manufacturer_tag')) $manufacturer_tag = $this->config->get('exchange1c_product_manufacturer_tag'); foreach ($xml->ЗначенияСвойства as $property) { // Ид объекта в 1С $attribute_guid = (string)$property->Ид; $attribute_value = htmlspecialchars(trim((string)$property->Значение)); $this->log('attribute_guid = ' . $attribute_guid, 2); $this->log('attribute_value = ' . $attribute_value, 2); // Пропускаем с пустыми значениями if (empty($attribute_value)) { continue; } // Загружаем только те что в классификаторе if (!isset($this->ATTRIBUTES[$attribute_guid])) { $this->log("[i] Свойство не было загружено в классификаторе, Ид = " . $attribute_guid, 2); continue; } else { $attribute = $this->ATTRIBUTES[$attribute_guid]; $attribute_values = $this->getAttributeValues($attribute['attribute_id']); // Проверим, является ли значение Ид, проверим его по связям if (isset($attribute_values[$attribute_value])) { $attribute_value_guid = $attribute_value; $attribute_value = $attribute_values[$attribute_value_guid]['name']; $attribute_value_id = $attribute_values[$attribute_value_guid]['attribute_value_id']; } else { $attribute_value_id = 0; } } // Фильтруем по таблице свойств $import = true; $attributes_filter = $this->config->get('exchange1c_properties'); if (is_array($attributes_filter)) { foreach ($attributes_filter as $attr_filter) { if ($attr_filter['name'] != $attribute['name']) { continue; } if (!isset($attr_filter['import'])) { $import = false; } if ($attr_filter['product_field_name'] == '') { $this->log("Свойство отключено: '" . $attr_filter['name'] . "'", 2); break; } // $attr_filter['product_field_name'] == '' } // foreach } // is_array($attributes_filter) switch ($attribute['name']) { case 'Производитель': $this->log("Производитель из свойства: 'Производитель'"); // Устанавливаем производителя из свойства если только он не был ранее прочитан if ($this->config->get('exchange1c_product_manufacturer_no_change') != 1 && empty($data['manufacturer'])) { $data['manufacturer_name'] = $attribute_value; $data['manufacturer_id'] = $this->setManufacturer($data['manufacturer_name']); } break; case $manufacturer_tag: $this->log("Производитель из свойства: '" . $manufacturer_tag . "'"); // Устанавливаем производителя из свойства если только он не был ранее прочитан if ($this->config->get('exchange1c_product_manufacturer_no_change') != 1 && empty($data['manufacturer'])) { $data['manufacturer_name'] = $attribute_value; $data['manufacturer_id'] = $this->setManufacturer($data['manufacturer_name']); } break; case 'Вес': $this->log("Вес из свойства"); $search = array(',', ' '); $replace = array('.', ''); $data['weight'] = str_replace($search, $replace, $attribute_value); break; case 'Длина': $this->log("Длина из свойства"); $search = array(',', ' '); $replace = array('.', ''); $data['length'] = str_replace($search, $replace, $attribute_value); break; case 'Ширина': $this->log("Ширина из свойства"); $search = array(',', ' '); $replace = array('.', ''); $data['width'] = str_replace($search, $replace, $attribute_value); break; case 'Высота': $this->log("Высота из свойства"); $search = array(',', ' '); $replace = array('.', ''); $data['height'] = str_replace($search, $replace, $attribute_value); break; // 'Мінімальне замовлення'- заменить на то значение которое задано у Вас в 1с //case 'Мінімальне замовлення': // $this->log("Минимальный заказ из свойства"); // $search = array(',', ' '); // $replace = array('.', ''); // $data['minimum'] = str_replace($search, $replace, $attribute_value); //break; default: if ($import) { $product_attributes[] = array( 'attribute_id' => $attribute['attribute_id'], 'value' => $attribute_value ); $this->log("Свойство '" . $attribute['name'] . "' = '" . $attribute_value . "'", 2); } } } // foreach $data['attributes'] = $product_attributes; } // parseProductAttributes()
-
1 годину назад, Espresso.Doktor сказав:
В карточке товара свойство Производитель = Имя Производителя,
Еще вопрос, а кто-то выгружает из 1С:
1. Название Склада - Локализация;
2. Минимальное количество для продажи ( например 5 шт, 10 шт, 25 шт, 50 шт, 100 шт );
3. Скидка с датой начала и конца действия скидки ( например с 01.03.2021 по 31.03.2021);
Минимальное количество выгружаю, но дописывал код модуля
-
В 01.03.2021 в 01:58, 26rus сказав:
только если выгрузку делать автоматическую в самой 1с программе, раз в час к примеру и до 16:00 к примеру рабочего дня.
Выгрузку делаю автоматически. Вопрос в том, что все заказы с сайта нуждаются в согласовании. Как ето можно обойти? Ставить их в резерв
-
Подскажите как сделать автоматическое резервирование заказов в 1с УТ, прилетевшие с сайта? Кто как решает данную проблему?
-
14 години назад, Espresso.Doktor сказав:
При попытке сделать запрос http://site.com/Export/exchange1c.php
Идёт моментально переадресация на https://sitecom/Export/exchange1c.php
Ответ: success
Уже пробовал в изменить в файле config в папке admin, обратно на http, сайт поехал но авторизация или обмен, не ожили.
Пробовал из другой 1С-ки, где конфигурация один в один как у меня и там постоянно автоматическое 1С, тоже авторизацию не прошло
Нужно искать у кого 1С-ка работат с сайтом по протоколу https://, и просить проверить авторизацию с моим сайтом, что хоть понять где искать косяк в 1С или на сайте.
В Прошлом году эта же 1С-ка нормально выгружали на сайт OpenCart 1.5.6.4 по https://, а сейчас произошел затык и не понятно куда копать.
1С-ники уже озвучили прайс хх.уо/час, будут якобы прописывать в 1С-ке сертификат SSL и т.д.
Возможно данные варианты вам помогут, для себя доработал функцию в 1с
- 1
-
Подскажите как изменить 1с УТ чтобы вигружала статусы в XML? Или дайте ссылку где можно прочитать о такой кастомизации
-
Скажите пожалуйста, для обмена используете модуль обмена из базовых конфигураций 1C или другой?
-
2021-02-05 16:36:26 - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2021-02-05 16:36:26 - www.briefs.km.ua/export/exchange1c.php?type=sale&mode=file&filename=orders-3430bcf6-331b-4fbd-900c-c6e1bbdb5290_1.xml 2021-02-05 16:36:26 - 2453C modeFileSale 2021-02-05 16:36:26 - 2389C upload file: /home/st406112/briefs.km.ua/www/system/storage/cache/exchange1c/orders-3430bcf6-331b-4fbd-900c-c6e1bbdb5290_1.xml 2021-02-05 16:36:26 - 2398C file size: 6567 2021-02-05 16:36:26 - 0066C failure 2021-02-05 16:36:26 - 0069C modeFileSale(): no XML files
Подскажите что за проверка происходит в строке 0069C? Как происходит проверка XML файла?
Поле Select2 на сторінці оформлення замовлення + Simple
в Opencart 2.x: Загальні питання
Опубліковано:
Дякую