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

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


Recommended Posts

В 13.04.2018 в 10:30, IronMann сказал:

Даст ли вам 1С удалить данные справочника, если по нему были документы? Это же нарушение ссылочной целостности.

Вопрос два, передает ли CommerceML данные по УДАЛЯЕМЫМ товарам. Это нужно смотреть в offers.xml. По большому счету, нужно это тестовым файлом проверить, в котором должны быть только удаляемые товары в сеансе.

В магазине, та же ситуация. Не очень хорошо будет удалять товары, по которым были заказы. Тоже нарушение ссылочной целостности.

Вопрос три, что будет делать модуль с такими данными:

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

 

Если честно, я бы вашу задачу решил двумя способами.

 

Первый способ - на стороне 1С создал бы группу которая бы включала неактуальные товары и которая бы не попадала в отборы для обмена с сайтом. На сайте - создал бы тоже категорию "Не актуальные" в которую бы перетащил неактуальные товары и снял бы признак показа для этой категории и для этих товаров.

 

Второй способ - тоже на стороне 1С  перенес бы товары в отдельную группу, но включил бы её в отборы для обмена с сайтом. Модуль категорию товара сменит автоматически при обмене, а запрет показа категории неактуальных товаров на сайте вы сами без труда настроите.

 

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

 

Как вам предложенные варианты?

Нежелательно удалять из индексации те товары что уже были проиндексированы однажды. Для клиентов дорабатываю этот момент в виде отдельного реквизита в 1с в карточке товара и если товар удаляется в базе (обычно пометка на удаление) то на сайте количество 0 и в конец каталога. Так страницы всегда в индексе и на них настроена перелинковка на другие актуальные товары. Если будете из индекса удалять   -  плохо для сео. Минимум редирект 301. Ну это при обычных условиях. Если это одноразовый товар, то конечно нет смысла плодить карточки - там редиректами.

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


В 11.04.2018 в 20:43, Sfeotable сказал:

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

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

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


Поменял наконец то с ERP сайтом. Клиент использовал индивидуальные характеристики для товара - они модулем не обрабатывались - только общие. С ценой характеристики тоже была беда (даже общих ) почему то не было записи цены в таблицу product_option_value .(ERP  для Украины Версия схемы 2,07, opencart 2.1.0.2.1 , версия модуля opencart2.1-exchange1c_1.6.3.11. Кстати в этой версии модуля фото для характеристик тоже не обрабатываются ( в последней уже есть такой код). Так что если кто-будет пилить под ERP - обращайтесь подскажу что нужно.

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


1 час назад, orientir10000 сказал:

Нежелательно удалять из индексации те товары что уже были проиндексированы однажды. Для клиентов дорабатываю этот момент в виде отдельного реквизита в 1с в карточке товара и если товар удаляется в базе (обычно пометка на удаление) то на сайте количество 0 и в конец каталога. Так страницы всегда в индексе и на них настроена перелинковка на другие актуальные товары. Если будете из индекса удалять   -  плохо для сео. Минимум редирект 301. Ну это при обычных условиях. Если это одноразовый товар, то конечно нет смысла плодить карточки - там редиректами.

 

У меня вообще в голове не укладываются. как люди могут УДАЛЯТЬ из базы товары, по которым у них были товародвижения?? Я знаю, как можно это сделать и какими методами потом затыкать нестыковки с данными предыдущих периодов, но все равно - это просто никаким образом не правильно! Данные по старым товарам должны быть перемещены в архивные группы - это наиболее правильное решение.

 

По поводу решения задачи с точки зрение CEO. Вариант следующий. Если заход на сайт осуществлен с главной страницы - эти товары не отображаются в каталоге, т.к. скрыты от показа. Писал об этом в постах выше. Но могут быть заходы в старые товары по CEO ссылкам из поисковых систем. И это тоже не страшно. Просто, в описании такого товара, пишется примерно следующее "Данный товар в настоящий момент снят с производства и более не продается. Посмотреть актуальную улучшенную модель вы можете пройдя по ..ссылка.." и всё! Простое и эффективное решение вопроса с архивными товарами, никоим образом не нарушающее ссылочную целостность базы данных.

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


1 час назад, orientir10000 сказал:

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

 

Я наоборот стараюсь формировать структуру папок справочника номенклатуры в 1С, чтобы она портировалась потом без изменений на сайт. Избавляю себя от двойной работы. Гиморно просто любые новые товары руками в CMS распихивать и видимость настраивать.

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


2 минуты назад, IronMann сказал:

 

Я наоборот стараюсь формировать структуру папок справочника номенклатуры в 1С, чтобы она портировалась потом без изменений на сайт. Избавляю себя от двойной работы. Гиморно просто любые новые товары руками в CMS распихивать и видимость настраивать.

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

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


 

13 часов назад, Kirillove сказал:

Какая версия модуля у вас?

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

Версия 1.6.4.3, 

13 часов назад, Kirillove сказал:


 

 
в логах: 
Если не грузим производителя - полет нормальный. Возможно свойство нужно указать с какими то значками?


Это последняя строка в логе после чего один прерывается?
Значит у вас в базе нет таблицы manufacturer_description у некоторых ее нет, проверьте наличие таблицы, если нет закомментарьте кусок кода который пишет в нее.

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

Таблица manufacturer_description ЕСТЬ. Я же пишу, что в нее записывает толко manufacturer_id и language_id, колонка name - пустая!

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


21 час назад, Kirillove сказал:

Помечаем товар на удаление, делаем обмен, товар отключается на сайте если 1С отправит тег что товар удален, и тогда модуль его отключить на сайте а после обмена можете удалить товар из 1С его конечно можно удалить.

 

Есть ещё несколько мыслей, я подумаю сегодня до вечера.

 

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

 

 

 

получается товар все равно отключится даже если я буду грузить его пакетами?

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

В 13.04.2018 в 10:30, IronMann сказал:

Даст ли вам 1С удалить данные справочника, если по нему были документы? Это же нарушение ссылочной целостности.

Вопрос два, передает ли CommerceML данные по УДАЛЯЕМЫМ товарам. Это нужно смотреть в offers.xml. По большому счету, нужно это тестовым файлом проверить, в котором должны быть только удаляемые товары в сеансе.

В магазине, та же ситуация. Не очень хорошо будет удалять товары, по которым были заказы. Тоже нарушение ссылочной целостности.

Вопрос три, что будет делать модуль с такими данными:

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

 

Если честно, я бы вашу задачу решил двумя способами.

 

Первый способ - на стороне 1С создал бы группу которая бы включала неактуальные товары и которая бы не попадала в отборы для обмена с сайтом. На сайте - создал бы тоже категорию "Не актуальные" в которую бы перетащил неактуальные товары и снял бы признак показа для этой категории и для этих товаров.

 

Второй способ - тоже на стороне 1С  перенес бы товары в отдельную группу, но включил бы её в отборы для обмена с сайтом. Модуль категорию товара сменит автоматически при обмене, а запрет показа категории неактуальных товаров на сайте вы сами без труда настроите.

 

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

 

Как вам предложенные варианты?

спасибо большое буду пробовать, особенно что касается товаров которые были в заказе но после этого были удалены, я как-то не подумал об этом, спасибо за подсказку

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

9 часов назад, staix сказал:

спасибо большое буду пробовать, особенно что касается товаров которые были в заказе но после этого были удалены, я как-то не подумал об этом, спасибо за подсказку

 

Хочу добавить, что 1С не даст просто так удалить товары, по которым присутствует товародвижение. Есть только один случай, когда такое удаление корректно и предусмотрено системой - поиск и удаление дублей. 1С находит дубли, вы устанавливаете признак оригинала на одном из них, система переносит ссылки в документах, второй объект (дубль) помечается на удаление.

По идее, модуль должен проделать тоже самое, но 1С в рамках формата CommerceML данных по дублям модулю не передаст. По этому, на данный момент, никакого адекватного решения по автоматической синхронизации удаления дублей на стороне модуля быть не может. Нет передаваемых данных о дублях - нет автоматизированного корректного удаления. Когда нибудь, возможно, все эти нюансы 1С учтет. А сейчас, чистка дублей в CMS возможна только в ручном режиме. Если говорить про поведение модуля, в настоящий момент лучшим вариантом будет товары с пометкой "удаленные" переносить в базе в закрытую от показа служебную категорию.

Если сейчас начать думать над задачей синхронизации удаления дублей 1С и модулем, то в отсутствие указанных выше данных, это задача из серии "чем дальше в лес, тем больше дров", будет лучше отложить ее до лучших времен, т.к. есть более актуальные потребности.

 

Пользуясь случаем, хочу спросить автора модуля - вы не прочитали мое ТЗ по организации двухстороннего обмена данными по доставке? Хочется выслушать ваше мнение, по любым каналам связи.

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


В ‎16‎.‎04‎.‎2018 в 14:09, orientir10000 сказал:

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

 

Вы на чистый сайт товары переносили, или шаманили с уже имеющимися данными? Даже, наверное, вопрос сформулирую так - вы как организовали первичную синхронизацию товарных справочников 1С и сайта?

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


4 минуты назад, IronMann сказал:

 

Вы на чистый сайт товары переносили, или шаманили с уже имеющимися данными? Даже, наверное, вопрос сформулирую так - вы как организовали первичную синхронизацию товарных справочников 1С и сайта?

Про данного клиента, что писал это новый сайт для клиента - все выгружалось впервые на сайт. В 1с они уже вели учет.

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


Добавил в обработку пока только товара вот такую настройку, хочу услышать комментарии

 

image.thumb.png.4504c69076b1e48d8cb7fa2154500600.png

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

11 минут назад, unfiii сказал:

Постоянно пишет на заказах ошибка 2400 в справке ничего не нашел. Кто сталкивался?

Это ошибка означает что у товара в заказе есть опции, так как функционал не реализован, то выдается эта ошибка.

Ошибка возникает когда заказ загружается с 1С на сайт, то есть происходит обновление заказа на сайте из 1С

Когда в 1С у товара есть характеристики, но модуль не видит опций у товара на сайте.

image.thumb.png.db5d4cca00e586854f95e06d8114ac6c.png

Будет доработано в ближайшее время

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

13 часов назад, IronMann сказал:

 

Хочу добавить, что 1С не даст просто так удалить товары, по которым присутствует товародвижение. Есть только один случай, когда такое удаление корректно и предусмотрено системой - поиск и удаление дублей. 1С находит дубли, вы устанавливаете признак оригинала на одном из них, система переносит ссылки в документах, второй объект (дубль) помечается на удаление.

По идее, модуль должен проделать тоже самое, но 1С в рамках формата CommerceML данных по дублям модулю не передаст. По этому, на данный момент, никакого адекватного решения по автоматической синхронизации удаления дублей на стороне модуля быть не может. Нет передаваемых данных о дублях - нет автоматизированного корректного удаления. Когда нибудь, возможно, все эти нюансы 1С учтет. А сейчас, чистка дублей в CMS возможна только в ручном режиме. Если говорить про поведение модуля, в настоящий момент лучшим вариантом будет товары с пометкой "удаленные" переносить в базе в закрытую от показа служебную категорию.

Если сейчас начать думать над задачей синхронизации удаления дублей 1С и модулем, то в отсутствие указанных выше данных, это задача из серии "чем дальше в лес, тем больше дров", будет лучше отложить ее до лучших времен, т.к. есть более актуальные потребности.

на счет отключения ненужного, вот в УНФ есть такая галочка, но на сайт не выгружается она

2018-04-18_05-09-23.thumb.png.c2f532d1c7b6871b108cd96ab5f37acc.png

Думаю по аналогии можно использовать и свойство, и сделать аналогичные правила обработки XML для свойств где можно значение записать в "status" или сейчас можно использовать таблицу загрузки свойств. Но только там надо передать "Статус" значение 1, что не есть удобно, например при создании товара надо ставить и статус.

При использовании правил загрузки XML в свойствах и применив формулу, можно например завести свойство "Неликвид" и если поставить там истина (Да) то через формулу можно записать в статус 0.

 

13 часов назад, IronMann сказал:

Пользуясь случаем, хочу спросить автора модуля - вы не прочитали мое ТЗ по организации двухстороннего обмена данными по доставке? Хочется выслушать ваше мнение, по любым каналам связи.

К сожалению не было времени подумать над ТЗ... попозже немного

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

22 часа назад, staix сказал:

получается товар все равно отключится даже если я буду грузить его пакетами?

Вы имеете ввиду когда 1С режет файлы на части?

Конечно, они склеиваются на сервере и получается полноценный файл и затем идет его обработка

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

14 часов назад, unfiii сказал:

Обмен заказами у кого-то работает с последней версией модуля?

У меня работает, но только в товарах которые в заказе не должны быть опции, пока это некорректно работает, но на этой неделе поправлю.

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

В 16.04.2018 в 23:29, Sfeotable сказал:

 

Версия 1.6.4.3, 

Таблица manufacturer_description ЕСТЬ. Я же пишу, что в нее записывает толко manufacturer_id и language_id, колонка name - пустая!

В opencart.pro 2.3 колонки "name" нету в этой таблице, ну хорошо я включу в проверку и запись в эту колонку скорее всего завтра...

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

В 16.04.2018 в 13:32, IronMann сказал:

 

Я разве пишу что не работает? Я достаточно ясно пишу, что в определенных ситуациях, УНФ ведет себя не корректно, пропадает часть данных в уже заведенных карточках контрагентов. Скриншоты проблемы я вам высылал еще два года назад, вы посмотрели и согласились о наличии проблемы. Сейчас - словно с белого листа получается.

Про методы исправления ошибки тоже говорил, включая информацию о тегах, которые использует umicms для обмена с конфигурацией. Этот движок, umicms принадлежит сейчас 1С. Как вы думаете, если они используют определенный набор тегов, для этого вероятно есть основания?

Не совсем понимаю, почему я вас пытаюсь убедить в состоявшихся фактах? Я помогаю вам посильно улучшать ваш же модуль. Там исправлений 4 строчки кода всего, после чего проблема в УНФ перестает иметь место быть.

Выгрузку заказов я обновил начиная с версии 1.6.4.3 и руководствуюсь материалами с сайта

https://dev.1c-bitrix.ru/api_help/sale/algorithms/doc_from_site.php

Адрес конечно не в том формате передается, но я буду над этим еще работать.

Возможно я сильно очень занят был, что не дошли руки....

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

9 часов назад, Kirillove сказал:

Добавил в обработку пока только товара вот такую настройку, хочу услышать комментарии

 

Я что ли выскажусь первым.

 

Виталий, взгляни на эту настройку взглядом пользователя, не отягощенного знанием PHP и вообще типовыми задачами программиста - разбором строки, строковыми функциями и т.п. :) Такого пользователя данная настройка повергнет в жесткое уныние. А данные пользователи будут основными потребителями твоего модуля, когда он выйдет в релиз.

Задача, как я понимаю, заполнить статичные поля для товаров на закладке "Данные" товаров. Этот список полей конечный - всего 8 полей. Достаточно в настройках модуля иметь таблицу соответствия этого списка с реквизитами / доп. реквизитами / доп. свойствами из 1С, названия которых пользователь вносит руками. Это будет проще и понятнее.

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


10 часов назад, Kirillove сказал:

У меня работает, но только в товарах которые в заказе не должны быть опции, пока это некорректно работает, но на этой неделе поправлю.

Спасибо за ответ! Жду!

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


12 часов назад, IronMann сказал:

 

Я что ли выскажусь первым.

 

Виталий, взгляни на эту настройку взглядом пользователя, не отягощенного знанием PHP и вообще типовыми задачами программиста - разбором строки, строковыми функциями и т.п. :) Такого пользователя данная настройка повергнет в жесткое уныние. А данные пользователи будут основными потребителями твоего модуля, когда он выйдет в релиз.

Задача, как я понимаю, заполнить статичные поля для товаров на закладке "Данные" товаров. Этот список полей конечный - всего 8 полей. Достаточно в настройках модуля иметь таблицу соответствия этого списка с реквизитами / доп. реквизитами / доп. свойствами из 1С, названия которых пользователь вносит руками. Это будет проще и понятнее.

Хорошо я понял тебя, спасибо за комментарий, это сложнее реализуется немного, поэтому пока сделал такой вариант.

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

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

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

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

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

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

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

Вхід

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

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

Important Information

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