Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Модуль Модуль обмена для opencart v2.3 по стандарту CommerceML [Поддержка]


Recommended Posts

В 04.04.2018 в 23:01, Kirillove сказал:

Это возможно ошибка веб сервера, Покажите последние 10 строчек лога опенкарт при включении режима отладка+запросы

Отправлено с моего Power Five Evo через Tapatalk
 

 

Модуль 1.6.4.2 от 05.04.2018, OC 2.3.0.2, ISS 10

 

Начал выгружаться файл заказов в ...\cache\exchange1c\. В 1С заказы не приходят, в ОС статус заказов не изменяется.

Конец лога

Спойлер

2018-04-05 23:37:26 - Client IP address: 127.0.0.1
2018-04-05 23:37:26 - 1.410 Mb | 2444 | POST_MAX_SIZE: 268435456
2018-04-05 23:37:26 - 1.410 Mb | 2207 | PHP Version: 70107
2018-04-05 23:37:26 - 1.410 Mb | 2208 | client_max_body_size: 
2018-04-05 23:37:26 - 1.410 Mb | 2176
2018-04-05 23:37:26 - Array
(
    [0] => zip=no
    [1] => file_limit=268435456
)

2018-04-05 23:37:26 - 1.410 Mb | 2177 | Mode Sale Init
2018-04-05 23:37:26 - 1.410 Mb | 2178
2018-04-05 23:37:26 - Array
(
    [0] => zip=no
    [1] => file_limit=268435456
)

2018-04-05 23:37:27 - Client IP address: 127.0.0.1
2018-04-05 23:37:27 - 1.413 Mb | 2570 | modeFileSale
2018-04-05 23:37:27 - modeFileSale(): Загрузка заказов отключена

1С пишет

Спойлер

Интерактивный обмен
05.04.2018 23:37:04 Запуск загрузки заказов
Обработано: 0
Загружено: 0
Пропущено: 0
Обновлено: 0
Создано: 0
05.04.2018 23:37:06 Завершена загрузка заказов
Дополнительная информация:Не удалось прочитать узел XML
Произошла ошибка: 
Не удалось обработать документы, загруженные с сервера.

Фрагмент файла orders.xml

Спойлер

?xml version="1.0" encoding="utf-8"?>
<КоммерческаяИнформация ВерсияСхемы="2.07" ДатаФормирования="2018-04-05"><Документ><Ид>4</Ид><Номер>4</Номер><Дата>2018-03-22</Дата><Время>13:46:16</Время><Валюта>руб.</Валюта><Курс>1</Курс><ХозОперация>Заказ товара</ХозОперация><Роль>Продавец</Роль><Сумма>460.0000</Сумма><Комментарий>
Доставка: Доставка с фиксированной стоимостью доставки</Комментарий><Контрагенты><Контрагент><Ид>2#[email protected]</Ид>

Между тегами нет пробелов и табуляции.

Надіслати
Поділитися на інших сайтах


Настройка "Конвертировать заказы в Windows-1251: Да", похоже, не срабатывает.

Конвертировал файл вручную в windows-1251, подсунул 1С - загрузился заказ.

encoding="utf-8" на encoding="windows-1251" можно не менять, работает и так.

1С УТ 11.1

 

Правильно ли я понял, что характеристики товара не передаются в заказе?

Змінено користувачем KLM
Надіслати
Поділитися на інших сайтах


Спасибо за отличный модуль!

Подтверждаю, что при обмене с УТ 10.3 (10.3.43.1, аналогично 10.3.47.1) при загрузке заказов не может обработать xml.

Т.к. пока опция "Конвертировать заказы в Windows-1251" не отрабатывает - поправил пока функцию в 1С на:

Функция HTTPПолучитьДанныеССервера(Соединение, ПараметрыЗапроса="", Заголовки="", СтрокаСообщенияПользователю = "") Экспорт
    ОтветСервера   = Неопределено;
    ИмяФайлаОтвета = ПолучитьИмяВременногоФайла();
    Попытка
        Соединение.Получить(СокрЛП(ПараметрыЗапроса), ИмяФайлаОтвета, СокрЛП(Заголовки));
    Исключение
        СтрокаСообщенияПользователю = "Не удалось получить данные с сервера. Проверьте правильность адреса сервера, порт, имя пользователя и пароль,"
        + Символы.ПС + "а также настройки подключения к Интернет." + Символы.ПС + ОписаниеОшибки();
    КонецПопытки;   
    ФайлОтвета = Новый Файл(ИмяФайлаОтвета);
    Если ФайлОтвета.Существует() Тогда
          //Изменение кодировки_Начало
          файлЧтение  = Новый ЧтениеТекста(ИмяФайлаОтвета,КодировкаТекста.UTF8);    
          txt=файлЧтение.Прочитать();
          файлЧтение.Закрыть();

          результатФайл = ИмяФайлаОтвета;
          файлЗапись = Новый ЗаписьТекста(результатФайл,КодировкаТекста.ANSI);    
          файлЗапись.Записать(txt);
          файлЗапись.Закрыть();
          //Изменение кодировки_Окончание
        ТекстОтвета = Новый ТекстовыйДокумент();
        ТекстОтвета.Прочитать(ИмяФайлаОтвета);
        Если ТекстОтвета.КоличествоСтрок()>0 Тогда
            ОтветСервера = ТекстОтвета.ПолучитьТекст();
        Иначе
            СтрокаСообщенияПользователю = СтрокаСообщенияПользователю + Символы.ПС + "Получение данных с сервера: Получен пустой ответ сервера.";   
        Конец

    Если;    Иначе    
        СтрокаСообщенияПользователю = СтрокаСообщенияПользователю + Символы.ПС + "Получение данных с сервера: Ответ сервера не получен.";
    КонецЕсли;
        Попытка
        УдалитьФайлы(КаталогВременныхФайлов(), ИмяФайлаОтвета);
    Исключение
    КонецПопытки;
        Возврат ОтветСервера;
КонецФункции

В результате заказы начали загружаться в 1С...

Также через AkelPad менял вручную кодировку на Windows-1251 - тоже проходило.

Змінено користувачем maksrealist
Надіслати
Поділитися на інших сайтах


Камрад maksrealist , что заработало - хорошо, но стараюсь не менять конфу. Это табу. С замка не снимаю, ищу до упора возможности обойти проблемные участки, не внося изменения в код 1С. В большинстве случаев удается.

 

Камрад KLM, у вас в первой строчке вашего фрагмента orders.xml , перед тегом <?xml не стоит открывающая треугольная скобка - так получилось, или реально не стоит?

Что текст не форматирован, это фигня, загрузка и так происходит.

 

Я, ища причины незагрузок, действую так:

1) Беру orders.xml сформированный модулем, привожу его редактором в форматированный вид, чисто для удобства. Кстати, если открыть исходный файл в интернет-эксплорере, то он сразу будет в нормальном форматированном виде. Копирую отформатированный файл в папку "Исходник" (условно)

2) Далее, формирую другой , опытный orders.xml, в котором оставляю только 1-2 блока. В частности - заголовок заказа и блок клиента. Загружаю его в режиме ручного обмена данными с сайта в 1С.

 

Задача - добиться того, чтобы даже в самом примитивном виде, загрузка заказа проходила. Если файл загрузился, тогда я удаляю результаты загрузки в 1С, вставляю в опытный файл заказов последовательно следующие блоки информации из исходного orders.xml, товар за товаром и снова провожу загрузку. И так шаг за шагом. Рано или поздно, я выявляю блок, на котором загрузка затыкается и тем самым локализую причину. Таким, достаточно простым лобовым методом, я нашел несколько ошибок как модуля, так и самой 1С. Ну а дальше, если есть возможность поправить код в модуле, делаю это.

Змінено користувачем IronMann
Надіслати
Поділитися на інших сайтах


2 часа назад, IronMann сказал:

Камрад KLM, у вас в первой строчке вашего фрагмента orders.xml , перед тегом <?xml не стоит открывающая треугольная скобка - так получилось, или реально не стоит?

Что текст не форматирован, это фигня, загрузка и так происходит.

Скорее всего просто не захватил курсором, т.к.в 1С загружается после конвертации.

Надіслати
Поділитися на інших сайтах


Если не трудно, поделитесь успехами в загрузке заказов. А то люди пишут о проблеме, а потом исчезают.

 

Я сейчас тоже экспериментирую с заказами. У меня они грузятся (УНФ 1.6), я играюсь сейчас с префиксацией. Т.е. чтобы номер заказа получаемый с сайта был, к примеру - M1003456. В 1С этот заказ будет в базе под номером ОС-M1003456 Где OC - префикс интернет-заказов (в настройках обмена 1С прописывается), а M1 - это префикс самого магазина. Если магазинов несколько и все они будут экспортировать заказы в 1С, то эти заказы в 1С потом очень будет очень легко отсортировывать, даже чисто визуально. Задача довольно простая, дел там в коде на полчаса. М.б. автор это внесет в модуль. Я же пока просто строковыми функциями в коде формирую нужный мне номер с префиксом.

Змінено користувачем IronMann
Надіслати
Поділитися на інших сайтах


Заказы удалось выгрузить. Так работает

admin\controller\extension\module\exchange1c.php

if ($this->config->get('exchange1c_convert_orders_cp1251') == 1) {
            echo mb_convert_encoding($orders, 'Windows-1251', mb_detect_encoding($orders, "UTF-8, Windows-1251, Windows-1252", true));

 

Характеристики только не передаются в заказе. Печально.

Змінено користувачем KLM
Надіслати
Поділитися на інших сайтах


18 часов назад, KLM сказал:

Я бы предпочёл, чтобы существующий функционал работал. Остальное пока можно своими модификаторами дописать.

Сугубо имхо.

 

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

И так же, чтобы была альфа-бета версия, в которой чтобы экспериментировали энтузиасты.

Ну и баг-лист текущих стабильных и бета версии и wish-лист на будущие чтобы был.

 

Желающих много, хотелки у все разные. У вас, вот, заказы не грузятся. А я доставку жду и жду - связь модульной реализации доставки в Опенкарте, со списком услуг из справочника номеклатуры, да чтобы в две стороны это корректно шлюзовалось. Год еще назад, как помню, этим вопросом озадачился. Написал недавно автору письмо с ТЗ со своим предложением алгоритма этого шлюзования, терпеливо ожидаю ответа.

Змінено користувачем IronMann
Надіслати
Поділитися на інших сайтах


Камрад maksrealist , что заработало - хорошо, но стараюсь не менять конфу. Это табу. С замка не снимаю, ищу до упора возможности обойти проблемные участки, не внося изменения в код 1С. В большинстве случаев удается.
 
Камрад KLM, у вас в первой строчке вашего фрагмента orders.xml , перед тегом Что текст не форматирован, это фигня, загрузка и так происходит.
 
Я, ища причины незагрузок, действую так:
1) Беру orders.xml сформированный модулем, привожу его редактором в форматированный вид, чисто для удобства. Кстати, если открыть исходный файл в интернет-эксплорере, то он сразу будет в нормальном форматированном виде. Копирую отформатированный файл в папку "Исходник" (условно)
2) Далее, формирую другой , опытный orders.xml, в котором оставляю только 1-2 блока. В частности - заголовок заказа и блок клиента. Загружаю его в режиме ручного обмена данными с сайта в 1С.
 
Задача - добиться того, чтобы даже в самом примитивном виде, загрузка заказа проходила. Если файл загрузился, тогда я удаляю результаты загрузки в 1С, вставляю в опытный файл заказов последовательно следующие блоки информации из исходного orders.xml, товар за товаром и снова провожу загрузку. И так шаг за шагом. Рано или поздно, я выявляю блок, на котором загрузка затыкается и тем самым локализую причину. Таким, достаточно простым лобовым методом, я нашел несколько ошибок как модуля, так и самой 1С. Ну а дальше, если есть возможность поправить код в модуле, делаю это.
Можно открыть его в браузере и тогда и можно проверить что он валидный и структура удобно отображается.
Что касается заказов с УНФ то в 1с летит нормально, но есть проблемы с адресом, сейчас решаю вопрос.
Возможно с кодировкой будет проблема если сайт работает не на UTF-8. Тогда нужно будет менять код, я пока не задавался вопросом определения кодировки на которой работает сайт.
Сейчас пока ещё работаю над заказами, заказы приходят в УНФ с характеристиками, а вот обратно нет, это я сейчас доделываю, планирую доделать сегодня.
Также доделываю правильную загрузку/выгрузку заказов если покупатель организация
Завтра можно будет скачать обновление и проверить работу заказов.

Отправлено с моего Power Five Evo через Tapatalk

Надіслати
Поділитися на інших сайтах

 

Модуль 1.6.4.2 от 05.04.2018, OC 2.3.0.2, ISS 10

 

Начал выгружаться файл заказов в ...\cache\exchange1c\. В 1С заказы не приходят, в ОС статус заказов не изменяется.

Конец лога

Спойлер 2018-04-05 23:37:26 - Client IP address: 127.0.0.1

2018-04-05 23:37:26 - 1.410 Mb | 2444 | POST_MAX_SIZE: 268435456

2018-04-05 23:37:26 - 1.410 Mb | 2207 | PHP Version: 70107

2018-04-05 23:37:26 - 1.410 Mb | 2208 | client_max_body_size: 

2018-04-05 23:37:26 - 1.410 Mb | 2176

2018-04-05 23:37:26 - Array

(

    [0] => zip=no

    [1] => file_limit=268435456

)

2018-04-05 23:37:26 - 1.410 Mb | 2177 | Mode Sale Init

2018-04-05 23:37:26 - 1.410 Mb | 2178

2018-04-05 23:37:26 - Array

(

    [0] => zip=no

    [1] => file_limit=268435456

)

2018-04-05 23:37:27 - Client IP address: 127.0.0.1

2018-04-05 23:37:27 - 1.413 Mb | 2570 | modeFileSale

2018-04-05 23:37:27 - modeFileSale(): Загрузка заказов отключена

1С пишет

Спойлер Интерактивный обмен

05.04.2018 23:37:04 Запуск загрузки заказов

Обработано: 0

Загружено: 0

Пропущено: 0

Обновлено: 0

Создано: 0

05.04.2018 23:37:06 Завершена загрузка заказов

Дополнительная информация:Не удалось прочитать узел XML

Произошла ошибка: 

Не удалось обработать документы, загруженные с сервера.

Фрагмент файла orders.xml

Спойлер ?xml version="1.0" encoding="utf-8"?>

4Ид>4Номер>2018-03-22Дата>13:46:16Время>руб.Валюта>1Курс>Заказ товараХозОперация>ПродавецРоль>460.0000Сумма>

Доставка: Доставка с фиксированной стоимостью доставкиКомментарий>2#[email protected]Ид>

Между тегами нет пробелов и табуляции.

А они и не нужны, для визуального чтения открывайте файл в браузере

 

Отправлено с моего Power Five Evo через Tapatalk

 

 

 

Надіслати
Поділитися на інших сайтах

Пара вопросов к вам kompnm, м.б. где-то писали, но просто не хочется листать.
Какая базовая конфигурация того, с чем работаете?
1) Конфигурация 1С (версия)
2) Версия Опенкарта (ocStore)
2) Версия модуля, которую ставите.
3) Условия установки: на чистую базу магазина, на магазин с уже заполненными товарами / чистая установка модуля, апгрейд с какой-либо предыдущей.
 
Вообще, думаю, будет вежливым по отношению к разработчику любое сообщение по тех. поддержке начинать с этих данных. Он же не участник битвы экстрасенсов и должен понимать исходные условия.
 
Теперь уже по существу. Модуль сейчас вообще у вас заказы не формирует, или они в 1С не затаскиваются?
Я уже в шапке модуля поправил что с чем работает.
Работает у меня с УНФ 1.6, на opencart.pro 2.3.0.3 должно и на обычной работать, модификатор возможно не встанет. Но его почти всегда нужно подгонять под сайт.
Заказы проходят нормально и обновляется он на сайте когда я меняю стоимость доставки, только наименование доставки не меняется пока. Есть мелочи которые сейчас устраняю, доделаю сегодня или завтра.

Отправлено с моего Power Five Evo через Tapatalk

Надіслати
Поділитися на інших сайтах

Только работа в 1с. Тоесть,заказы,товары-все тянем с 1ски. Ничего на сайте не добавляем и не убираем. Так как менеджеры могут напутать, новый магазин. Пусть себе работают с 1ской. Структура вся с ТС. Украина 2.3
План был такой-я выгружаю все категории с товарами,а они сами работают в 1ске. (меняют товар,цены,колличество) поставить автоматическую синхронизацию с сайтом. И эта идея осуществима с этим модулем. Он просто шикарный! Но много чего не могу разобрать.Вот с изменением я вкурила. По логике, можно один раз выгрузить готовые категории,а не каждый раз чистить таблицы и заново все прописывать. А потом в режиме изменений.
Теперь осталось разобраться с заказами. Выше Вы писали,что товар должен быть на сайте и в ТС. У нас вся структрура с ТС.Они взаимосвязаны и единтичны. Лично каждую позицию проверяю.А заказов нет.
Может поможете на основе пожертвований развития? Осталось только правильно получать и отправлять заказы.
Для начала покажите лог обмена заказами.

Отправлено с моего Power Five Evo через Tapatalk

Надіслати
Поділитися на інших сайтах

Модуль 1.6.4.3, OC 2.3.0.2, УТ 11.1

Разобрался с невыгрузкой характеристик в заказе в сторону 1С.

Видимо, после оформления заказа на сайте, но до выгрузки заказов в 1С, я проводил выгрузку (полную?) товаров на сайт. В итоге для тех же характеристик были сформированы новые значения product_option_value_id, которые в SQL-запрос не попадали и он ничего не выдавал.

Надіслати
Поділитися на інших сайтах


Ищу помощи! (не безвозмездной, разумеется)
модуль 1.6.4.1
ocstore 2.3

Может здесь кто-нибудь привести обмен к виду:
1. фото (выгружается не всё)
2. цена (выгружается)
3. остаток (выгружается)
4. код (выгружается)
5. группа товара (для сайта изменено и на данный момент выгружается правильно)
6. Обмен по расписанию

1cbitrix (2).rar

Надіслати
Поділитися на інших сайтах


Какая конфигурация того, с чем работаете?
1) Конфигурация 1С (версия)
2) Версия Опенкарта (ocStore)
2) Версия модуля, которую ставите.
3) Условия установки: на чистую базу магазина, на магазин с уже заполненными товарами / чистая установка модуля, апгрейд с какой-либо предыдущей?

Надіслати
Поділитися на інших сайтах


В 09.04.2018 в 14:53, Beavis2018 сказал:

@Kirillove  с конвертацией валют то в итоге разобрались? :)

 

Давно не заходил, думал уже разобрались. У нас работает так (всё на стороне 1с):

  • Забиты прайс-листы поставщиков в USD и EUR (может быть несколько поставщиков одного товара с разными ценами);
  • создан вид цены "Рекомендованные средние" (поставщики нам рекомендуют розничные цены) со стандартной схемой компоновки данных "Средние цены поставщиков" в RUB (есть ещё максимальные и минимальные), если у Вас цены поставщиков оптовые - создайте ещё вид цены "Рекомендованные средние Розница" с пересчетом по формуле;
  • создан вид цены "Сайт", который используется для обмена с сайтом и рассчитывается по формуле: если в виде цен "Прайс-лист" не введена цена вручную то применяется вид цены "Рекомендованные средние".

Курсы валют загружаются автоматом с сайта РБК. Каждое утро коммерческий принимает решение - устанавливать новые цены или нет. Если курс снизился то не факт, что он будет устанавливать новые цены. При установке цен валютные цены пересчитываются по курсу автоматом. Затем при обмене с сайтом новые цены выгружаются на сайт.

Всё это стандартный функционал 1С:УТ 11 описанный на сайте ИТС и в книге Богачевой.

Надіслати
Поділитися на інших сайтах


51 минуту назад, niva36 сказал:

 

Давно не заходил, думал уже разобрались. У нас работает так (всё на стороне 1с):

  • Забиты прайс-листы поставщиков в USD и EUR (может быть несколько поставщиков одного товара с разными ценами);
  • создан вид цены "Рекомендованные средние" (поставщики нам рекомендуют розничные цены) со стандартной схемой компоновки данных "Средние цены поставщиков" в RUB (есть ещё максимальные и минимальные), если у Вас цены поставщиков оптовые - создайте ещё вид цены "Рекомендованные средние Розница" с пересчетом по формуле;
  • создан вид цены "Сайт", который используется для обмена с сайтом и рассчитывается по формуле: если в виде цен "Прайс-лист" не введена цена вручную то применяется вид цены "Рекомендованные средние".

Курсы валют загружаются автоматом с сайта РБК. Каждое утро коммерческий принимает решение - устанавливать новые цены или нет. Если курс снизился то не факт, что он будет устанавливать новые цены. При установке цен валютные цены пересчитываются по курсу автоматом. Затем при обмене с сайтом новые цены выгружаются на сайт.

Всё это стандартный функционал 1С:УТ 11 описанный на сайте ИТС и в книге Богачевой.

 

 

У меня 10.3 там такого функционала нет.

Надіслати
Поділитися на інших сайтах


Еще будет достаточно много всплывать разных нестыковок в процессе использования с разными конфигурациями. Какой-то упорядоченности и понятного структурированного баг-листа, какая ошибка в какой конфигурации возникает - нет.

В УНФ, к примеру, при определенных действиях теряется информация об контрагенте при использовании стандартных тегов CommerceML для работы с контактной информацией. Чтобы выяснить почему так происходит и как с этим бороться - в режиме отладки мной изучались данные взаимодействия сервиса UMI с УНФ (там все работало как часы). Выяснилось, что UMI использует другие теги для передачи контактной информации в заказе, чем использует автор. Я писал об этом еще два года назад, приводил скриншоты, примеры, исправленный код модуля, в котором эта ошибка фиксилась. Замечание до сих пор не учтено.

Змінено користувачем IronMann
Надіслати
Поділитися на інших сайтах


@Kirillove Возможно ли добавить в модуль обмена функционал, чтобы некоторый код исполнялся после успешного обмена с 1с? Например так, как в Mega Filter PRO/PLUS:

MFP-plus-1cExchange01.thumb.png.5781c1425d360158c5e91ef924043c4a.png

 

Мы столкнулись с ситуацией, что товары, отображаемые в нескольких категориях (например, при включенной настройке "Заполнять родительские категории"), MFP+ не отображает пока не будет произведена индексация.

http://mfp.ocdemo.eu/docs/plus.html#rebuild-index

http://mfp.ocdemo.eu/docs/developers.html#import-export-edit-products

Возможно эта функция будет полезна и для других расширений/дополнений движка или иной корректировке загруженных данных.

Надіслати
Поділитися на інших сайтах


Доброго времени, подскажите такой вопрос: где можно взять модуль для складов и единиц измерений, которые использует глубокоуважаемый Автор? Устанавливал модуль синхронизации 1.6.4.2 на OpenCart 2.3.0.2 (rs.3) и данных модулей нет в инсталяторе, есть только модификатор warehouse, но он не работает, т.к. нет самого модуля.

Надіслати
Поділитися на інших сайтах


Связываю УТП и моудль версии 1.6.4.3, у клиента в1с структура справочника номенклатуры : Товары/Материалы/Полуфабрикаты/Услуги. На сайт требуется вывести только содержимое папки Товары. А у меня выгружается первым уровнем категории папка Товары, хотя ее дочки должны быть первым уровнем. Все настройки переклацал, ниче не помогает. Что не так делаю?

Надіслати
Поділитися на інших сайтах


  • dinox changed the title to Модуль обмена для opencart v2.3 с учетной системой по стандарту CommerceML [Поддержка]

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.