-
Публікації
1 598 -
З нами
-
Відвідування
Тип публікації
Профілі
Форум
Маркетплейс
Статті
FAQ
Наші новини
Магазин
Блоги
module__dplus_manager
Повідомлення, опубліковані користувачем Kirillove
-
-
02.03.2022 в 00:46, nash сказал:
Так район на стороне сайта у вас заполняется разве? Если значения в 1С и на сайте совпадают то можно вместо none указать имя поля, либо если у вас есть функции разбора адреса, то доработать эту функцию чтобы подтягивались поля оттуда.
-
02.03.2022 в 00:34, nash сказал:
у меня цены идут и так без скидки, а сумма итоговая за минусом скидки. Что-то я недогоняю как надо...)
Я посмотрел там есть в таблице товаров поле <Скидка>XXX</Скидка> но эта скидка на товар а не весь документ.
Какая конфигурация Вашей 1С? Нужно будет в конфигураторе посмотреть функцию
внутри этой функции запускается разбор самого документа
На форуме битрикс от 2016 года поднимался вопрос, но ответ от битрикс был что БУС не поддерживает поэтому 1С не включает это возможность.
Можно попробовать в шапку документа включить поле <Скидка> и указать скидку на весь документ. Хотя я не нашел такое у себя в функции 1С.
Либо реализовать такое решение через расширение для 1С и добавить скидку либо в шапку либо в свойства документа или реквизиты документа.
Когда доберусь до заказов смогу поискать решение
Свежие 1С доработали загрузки с сайта доставку
-
02.03.2022 в 00:22, nash сказал:
'Район' => 'none',
Это поле не сопоставлено, будет пустым, справа указывается поле в таблице order или order_shipping (см. mode=?) если не нужно закомментарьте.
А вообще 1С у меня такой адрес не воспринимает, это зависит от того какой ФИАС у вас использует 1С. Старые версии 1С хавали строку представления как строку и все, а вот если загружен ФИАС 1С пытается разложить адрес на поля, если не получается то игнорирует.
В версии 2.0 когда буду тестить заказы на своем сервере обязательно найду решение, и можно будет доработать функцию в версии 1.6
- 1
-
01.03.2022 в 03:34, nash сказал:
да, именно так)
Такая возможность доступна только в версии 2.0, я хотел на примере внедрения проверить обмен заказами.
Пока внедрял её в opencart 2.1 и opencart 2.3 времени не было, время появится только в конце этой недели, проверю на своем сервере и напишу о результатах.
- 1
-
01.03.2022 в 21:48, doronus сказал:
в логах только одна цена, выпадает случайно, но либо все маленькие, либо все большие, тобишь с одного склада, не вперемешку.
маленькие не смог отловить, когда хочешь записать лог,- становится всё гуд, как на авто в сервис приехал, а она как часики там работает, но стоит ток выехать...
Может не поддерживается установка цен с 2х магазинов, т.е. один магазин должен быть скидкой... Тогда норма... (как автор пишет - нашел первую цену, -записал, ушел)Возможно, такой вариант не тестировался. Такое можно попробовать реализовать только на версии 2.0, так как 1.6.4 уже архивная, доработки уже мной там не предусмотрены, тем более обработка цен в 1.6 ведется во время загрузки предложений, а в 2.0 после загрузки файла с предложениями
-
01.03.2022 в 19:40, nash сказал:
а возможно как-то передавать скидки и др возможности "учета в заказе" в 1с? Не нашел документацию по XML обмена битрикс по заказам.
т.е. у меня в данный момент идет скидка за онлайн-оплату 10%, а в 1с эта скидка никак не передается. Возможно это как-то передать в 1с и как это правильно сделать?
Да можно сделать на стороне сервера, нужно указать цену без скидки а сумму за минусом скидки и 1С в документе должна разницу поставить в скидку.
Такое можно и модулем сделать, но лучше написать модификатор отдельный и включать - выключать когда Вам надо
А код добавить в функцию queryOrders()
- 1
-
-
01.03.2022 в 02:11, doronus сказал:
помогите решить проблемку, может кто сталкивался, может где точку забыл поставить.
1с розница + выгрузка последняя (любая из двух) 2.3, без seo модуля
3 магазина в 1с, один отключён (при выгрузке склад учитывается, в связь не добавляется), в одном есть товар по 20руб, во втором нет товара (когда-то закончился) по 10 руб. (3 вложенность, т.е. косметика--уход за волосами--шампуни---товар)
При выгрузке, категории "косметика" или "уход за волосами" на сайте упорно ставится цена 10 руб, как наименьшая среди магазинов, несмотря на то что товара нет
И лишь при выгрузке только 3 категории, отдельно, цена встает правильно.
удаление связи цен тоже не помогает.
Подскажите на какой участок кода обратить внимание.(я на уровне тугодума в скриптах, соображаю, но долго(( )Здравствуйте, если версия модуля 1.6 тогда смотреть нужно parseOffers() читаются предложения, включите лог в режиме отладки и выполните обмен
Выделенным текстом выводится в лог информация массива $data где формируется цена предложения.
Проверьте правильная тут цена?
Далее нужно точно знать в этом товаре есть характеристики в 1С ?
Если есть в 1С характеристики (опции на сайте) то за расчет цен берется функция:
Далее нужно точно знать в этом товаре есть характеристики в 1С ?
Если есть в 1С характеристики (опции на сайте) то за расчет цен берется функция getProductFeaturesQuantityPrice():
Непосредственно в сам товар цену и остатки записывает функция updateOffers().
-
27.02.2022 в 17:35, nash сказал:
@Kirillove спасибо за информацию! А вот по этому пункту не можете помочь? Еще есть проблема, перестал передаваться в комментариях способ доставки...
Комментарий передается с заказа, таблица order поле comment
Документы формируются в функции queryOrders()
включите лог в режиме отладки, посмотрите номер строки где выводится у вас в файле /admin/model/extension/exchange1c.php содержимое заказа с сайта
и в логах найдите по поиску, например, у меня строка 6482. Там будет содержимое массива где должен быть comment
- 1
-
11.02.2022 в 18:12, Builder2k сказал:
Загружать товары не нужно, хочу только получать заказы с сайта.
Поставил фильтр на дату заказов (за 2 дня) и на статус. Запускаю ручную выгрузку - модуль зависает и через какое то время выпадает в 504 ошибку.
Если установить фильтр по которому точно нет заказов - получаю файл только с заголовком, нормально.
Включил лог, но при зависании в него ничего не попадает.
Как бы отследить на каком этапе он зависает?
Может не заполнены каике то служебные таблицы модуля?
И возможен ли такой вариант работы - только выгрузка заказов?
Здравствуйте, такой вариант работы не тестировался, но я сейчас просматриваю код модуля обработки товаров в заказе в функции queryOrders().
Там если ранее товар не был загружен на сайт, то таблица product_to_1c будет пустая и функция getGuidByProductId() вернет пустую строку.
Товары в итоге выгрузятся в 1С.
Если у Вас ошибки при вызове функции получения заказов queryOrders(), значит надо смотреть еще лог ошибок сервера error.log, в котором фиксируются фатальные ошибки при выполнении php кода или SQL запроса. При ошибках в SQL запросе в логе opencart последняя запись будет строка запроса и далее завершение обмена, а в логе веб сервера будет подробно расписано в каком файле, стек вызова функций, номер строки и описание ошибки.
Если лог веб сервера Вы не нашли обратитесь в поддержку Вашего хостинга.
Лучше всего включите лог в режиме отладка+запросы (в настройках модуля обмена в админке), обнулите лог через FTP в папке /system/storage/logs, и запустите обмен, сохраните лог и покажите последние строчки
-
15.02.2022 в 18:03, nash сказал:
чтобы при обмене с 1с, например, при добавлении нового товара отключалась возможность "Вычитать со склада"
Здравствуйте, в опциях раздел "Товары -> Характеристики" есть переключатель "Вычитать со склада" но работает он только для характеристик.
Чтобы это заработало необходимо добавить код в функцию setProduct():
$data['subtract'] = $this->config->get('exchange1c_product_options_subtract');
Код я не проверял, но добавил в свой модуль 1.6.4.8 который работает на моем сайте.
И теперь при добавлении и обновлении будет меняться значение поля subtract в таблице product
- 1
-
В 01.10.2021 в 15:30, searchingman сказал:
Синхронизация по имени производителя не есть правильно, но т.к. производитель при обмене может быть в разных тегах в файле обмена ("Производитель", "Изготовитель" и какой-то другой), то автор отказался от GUID-а производителя из 1с.
Доброго дня. В моей учетной системе тег "Производитель" был создан для нескольких товарных категорий, в итоге у меня тег "Производитель" но Ид у них разные, и атрибутов "Производитель" было очень много, решение в 1С найдено - использовать свойство из другой категории, но переделывать в 1С это очень накладно..
-
В 21.09.2021 в 03:37, artmoney сказал:
Добрый вечер, тестирую 2 версию, падают разного рода ошибки в логах 1с) понимаю бета версия, но может есть расшифровка ошибок на руках М182 например
СпойлерОшибки и описания
checkauth()
С010 - Модуль отключен, обмен невозможен
С011 - Доступ запрещен с IP адреса
С012 - Неверный пароль
modeCheckauth()
modeInit()
sessionGet()
С020 - Сессия не найдена в куке
С021 - Сессия не найдена в базе
C022 - Более одной активной сессии
modeCatalogImport()
C050 - Импортируемый файл не существует
UploadFile()
C030 - Невозможно создать директорию
C031 - Ошибка записи файл в директорию
С032 - Размеры входящего файла и сохраненного отличаются
extractZipV3()
C040 - файл отсутствует
C041 - Ошибка чтения архиваImportCatalog() Model
M010 - Ошибка чтения XML, неверный формат, кодировка, либо файл обрезан, либо слеплены два файла
M020 - Данная версия CommerceML не поддерживается модулем, обратитесь к разработчику
parseProperty() Model
M030 - Значения нельзя записать так как property_id = 0, то есть не сохранено само свойство
getProperty() Model
M040 - Не найден атрибут который привязан к свойству в 1С
parseProductProperty() Model
M050 - Невозможно установить свойство в товаре так как по Ид его не удалось найти.
M051 - Не найдено значение свойства по Ид
M052 -
addProductAttribute() Model
parseProductCategories() Model
M060 - Найдена категория по Ид с нулевым category_id!
M061 - При разборе товара не удалось найти категорию по Ид
getManufacturer() Model
M070 - По Ид найдено более одного производителя
parseProductTaxes()
M080
M081
M082
parseProduct() Model
M090 - Наименование товара отсутствует в файле! Это обязательный тег!
M091 - Найдено более одного товара по Ид
getProduct() Model
moveProductImage() Model
M100 - Изображение не удалось переместить
getProductIdByGuid() Model
M110 - пустой Ид передан
M111 - несколько товаров соответствуют одному Ид
addOffer() Model
M120 - Пустой product_id
addFeature() Model
M130 - Не указано наименование характеристики
M131 - Не указан product_id
getOffer() Model
M140 - Пустое значение product_id
M141 - Найдено более одного предложения по параметрам условию запроса
getFeature() Model
M150 - Пустые feature_id либо feature_guid были переданы
M151 - Найдено более одной характеристики по параметрам
getPriceType() Model
M160 - Пустое значение Ид передано
getCurrency()
M170 - Не сопоставлена валюта по коду
getUnit() model
M180 - Пустое значение КодЕдиницы
M181 - Не найдено ни одной единицы по коду
M182 - Получено более одной единицы по коду
M182 - Получено более одной единицы по коду
getPriceTypeAll() Model
M190 - Не указана валюта для типа цены
setQuantity()
M200 - Не найдено загруженных в базу складов (мест хранений)
setPrice() Model
M210 - Дублирование основной цены
parseOffers_v3() Model
M220 - Не найден товар по Ид при загрузке предложения
parsePCategory() Model
M230 - Не найдено свойство по Ид
updateCategory() Model
M240 - Неверные данные для записи в таблицу category_description
syncProduct() Model
M250 - Пустое поле АРТИКУЛ (SKU)
M251 - Пустое поле МОДЕЛЬ (MODEL)
M252 - Пустое поле НАИМЕНОВАНИЕ (NAME)
M253 - Пустое поле ШТРИХКОД (EAN)
M251 - Пустое поле КОД (CODE)
addProduct() Model
M260 - При добавлении товара в таблицу product произошла ошибка product_id не получен!
getProductByGUID() Model
M270 - Найдено более одной связи товара загруженного из 1с по Ид
createDirectories() Model
M280 - Каталог не существует
M281 - Ошибка создания каталога
getPropertyInfoByGuid() Model
M290 - По Ид получено более одного свойства
M291 - Получено названия атрибутов не равное количеству языков в системе
M292 - Есть расхождения наименования значения свойства и производителя на основном языке
M293 - Не найден производитель в базе
addCategory()
M300 -
getCategory()
M310 -
compareArraysData()
M320
UpdateCatalog()
M330 - более одной базовой ценыquerySetFields() Model
M500 - В таблице нет полей, пустая таблица
M501 - Значение поля является массив вместо строки!
parseDocumentProducts() Model
M510 -
M511 -
M512 -
M513 - -
в 8 строке такая строчка:
$data['name'] = $data['manufacturer_description'][$front_language_id ]['name'];
В 13.09.2021 в 23:11, Art8 сказал:Uninitialized string offset: 1
а эта ошибка гласит что в массиве ошибка, а именно $data[0][1][2]... то есть offset 1 означает что массив $data['manufacturer_description'] не содержит элемент $front_language_id, либо $data['manufacturer_description'] не является массивом.
А вообще эта строчка добавлена модификатором, чтобы просто исправить нужно найти модификатор который правит этот файл и закомментарить ее.
Дальше конечно могут посыпаться еще ошибки другие, так как переменная $data['name'] будет пустой, и производитель не сможет быть создан
-
Только сейчас добрался до компа... изучаю Ваш файл...
-
Здравствуйте, у вас модифицированный файл manufacturer.php чтобы понять из-за чего ошибка, нужно посмотреть файл
/home/a/audir3jz/2.coffeemann.ru/public_html/system/storage/modification/admin/model/catalog/manufacturer.php
-
Здравствуйте, мысль конечно интересная, только при импорте файлы хранятся, например, в папке /image/import_files/XX/9c13c0aef8ce66b12b10c973292cec6c.bmp
Как вариант, название картинок можно брать с описания файла при импорте и складывать их в папку /image/catalog/....
Я подумаю на следующей неделе..
- 1
-
7 часов назад, Ivanzo сказал:
Пропущенные товары по ИД имеются в обоих файлах в offers.xml и import.xml по идее должны заливаться. Не понятно как количество выгружаемых товаров может так влиять на загрузку. Файлы весят не много. Обработка занимает не долгое время. Ресурса хостинга хватает. В чем может быть вопрос не понятно.
Значит по каким-то причинам не добавился товар при загрузке файла import.xml, необходимо включить лог и загрузить файл или сделать обмен с 1С, не забудьте включить лог в режим отладки. Перед началом обмена файл журнала лучше удалить, при обмене создается новый и в нем будут только записи последнего обмена.
В логе поискать по строку с Ид товара который не загружается в предложениях и посмотреть что не так.
Если в логе не было ошибок, скиньте кусок лога загрузки товара из import и offers я посмотрю
-
В 30.08.2021 в 17:11, maksimist сказал:
не выгружает, режим работы "загрузка данных".
http://opencart2302rs.tesla-chita.ru/
в админку demo/demo
У меня все загрузилось ZIP формат
У тебя в логах ошибка чтения файла XML... добавлю проверку на существование, а то непонятно либо файл косячный либо его нет...
-
17 часов назад, maksimist сказал:
С zip-ом, уже и импорт и оферс есть в аплоаде
При загрузке свойств возникли ошибки, на SQL запросе:
"UPDATE oc_attribute_group SET attribute_group_id = 0 WHERE atttribute_group_id = 7"ошибка в синтаксисе atttribute_group_id с тремя ttt, и вообще ошибка в запросе, должно быть
"UPDATE oc_attribute_group SET sort_order = 0 WHERE attribute_group_id = 7"
Ошибка в модели строка 1859, функция setAttributeGroup() (exchange1c v2.0.3b), вот исправленный код
if ($sort_order_old != $sort_order) { $this->query("UPDATE " . DB_PREFIX . "attribute_group SET sort_order = " . (int)$sort_order . " WHERE atttribute_group_id = " . (int)$attribute_group_id ); }
-
Еще добавил записи в лог, давайте еще раз обновите файлы в контроллере и модели
oc2.3-exchange1c_2.0.3b.ocmod.zip
Логи должны содержать информацию о распакованных файлов
Проверьте права на директорию /upload/exchange1c
-
1 час назад, maksimist сказал:
Нет файла import.xml, есть только offers.xml и zip-ы с картинками. Если выгружать на диск, то с файлами выгрузки все ок.
замените 2 файла exchange1c.php в контроллере и модели соответственно
еще раз сделайте обмен и покажите отчет
-
В 30.08.2021 в 17:11, maksimist сказал:
не выгружает, режим работы "загрузка данных".
Обнаружил что сессия не закрылась при ошибке M010 - исправил
Проверьте XML файл находился в папке по указанному пути "/home/holidayc/velomax/system/storage/upload/exchange1c/import.xml" ?
После ошибки файлы не удаляются в бета версии, оставлено для отладки
-
Загрузил новую версию 2.0.1 с исправлениями, сегодня то что успел сделал...
Еще исправлены ошибки 2.0.2b - буква b означает бета версия, пока только тестируем...
Я оперативно буду реагировать на ошибки, желательно тестировать разработчиками сайтов...
Модуль Модуль обмена для opencart v2.3 по стандарту CommerceML [Поддержка]
в Модули обмена данными
Опубліковано:
Долго не был так как была проблема с подключением к сайту из-за блокировки сети из которой я подключаюсь, в итоге могу заходить только через Tor Browser