carono / yii2-1c-exchange

Модуль yii2 для выгрузки цен и остатков из 1С
77 stars 24 forks source link

How to use it? #1

Closed Sensetivity closed 6 years ago

Sensetivity commented 7 years ago

How to use it? What exacly file I need export from 1C?

carono commented 7 years ago

The module is still being developed, at the moment it works partially and is not recommended for use. After the release, all usage information will be described in README.

kolyambas commented 7 years ago

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

kolyambas commented 7 years ago

И еще, я смотрю появилось много изменений. Но обновить у меня не получается. Текущий модуль закончен и готов к использованию или находится на стадии разработки как и ранее?

carono commented 7 years ago

Еще в стадии разработки, альфа версия так сказать, он сейчас используется на одном магазине, для синхронизации с moysklad.ru. Модуль будет готов к использованию, когда перейдёт в версию 1.0.0, тогда я создам полный фак для разворачивания.

Сейчас еще могут изменится интерфейсы и логика работы, что нарушит обратную совместимость, поэтому я не советую его сейчас настраивать. Релиз готовится в июне.

kolyambas commented 7 years ago

Спасибо огромное за ответ. Подождем. Завис на стадии разбора parsing в DefaultController :)

carono commented 7 years ago

Суть какая, нужно повесить интерфейс \carono\exchange1c\interfaces\ProductInterface на товар \carono\exchange1c\interfaces\GroupInterface на группу, где товар хранится \carono\exchange1c\interfaces\DocumentInterface на модель, которая является счетом (не советую, документ создаётся в 1С, но правильно ли, я пока не уверен) \carono\exchange1c\interfaces\PartnerInterface на пользователя (модель User)

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

carono commented 7 years ago

Если очень нужно, то я могу помочь всё настроить, но не гарантирую, что через несколько недель, все не нужно будет переделывать =)

kolyambas commented 7 years ago

Я для себя хотел механизм этого обмена понять. Поэтому пока буду разбирать сам принцип. На недоделанном модуле это будет труднее.

carono commented 7 years ago

Логику работы протокола (между 1С и сайтом) или логику непосредственно работы моего модуля?

kolyambas commented 7 years ago

Самого протокола и структуры Товаров, каталогов, аттрибутов и прочего. Я 1С не знаю к сожаленью. Потому прочитал только http://v8.1c.ru/edi/edi_stnd/131/

Я пытался создать у себя таблицы и модели которые будут корректно принимать файлы XML от 1С. Сам обмен примерно понятен, файлы(+фото) приходят, теперь моя задача правильно разложить данные по таблицам. Смотрел реализацию обмена в OpenCart и в Bitrix, пытался перетащить на yii2.

kolyambas commented 7 years ago

Думал твой хотябы сырой модуль поможет понять быстрее структуру и данные в XML приходящем от 1С. Буду разбирать теперь каждую строчку. Так и надо было сразу делать :)

carono commented 7 years ago

У меня модуль не привязан к структуре, я его делаю таким, чтобы можно было на любую базу повесить. В моём случае, в магазине 2 таблицы, которые учавствуют в импорте Товары id int4 title varchar // поле из xml price numeric // поле из xml remnant numeric // поле из xml accounting_id varchar // ИД в 1c currency varchar // поле из xml group_id int4 // FK на группу article varchar // поле из xml created_at timestamp updated_at timestamp

Группы id int4 name varchar parent_id int4 // FK сам на себя accounting_id varchar // ИД в 1c slug varchar

Т.е. если интерфейсы настроены, и дошло до парсинга \carono\exchange1c\controllers\DefaultController::parseProduct то все данные, нужно уже перехватывать в фукцниях интерфейса, setGroup1c получим объект с группой, и мы сами должны, в соответсвии со своей базой, все разложить куда нужно

carono commented 7 years ago

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

kolyambas commented 7 years ago

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

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

Если ты передашь мне список моделей которые планируются, то это уже было бы не плохо.

carono commented 7 years ago

Еще раз повторюсь, что этому модулю не важна ни структура, ни тип базы, наполнение нужно самому прописывать в интерфейсах.

Для минимума, тебе потребуются 2 модели, товар и группа. Почитай комментарии в интерфейсе \carono\exchange1c\interfaces\ProductInterface у фукнций, там приводится, какие данные прилетают из xml файлов

models.zip

carono commented 7 years ago

Кто какие редакции торговли использует? Я собираю демо-сайт на основе Розница, редакция 2.2 (2.2.6.18)

kolyambas commented 7 years ago

Я забросил это дело. Написал собственный модуль обмена, не универсальный. Мне в качестве потренироваться было надо. Даже не знаю какая там редакция со стороны 1с была. Подстравивался под выгрузку.

Пятница, 30 июня 2017, 15:28 +03:00 от Александр Касьянов notifications@github.com:

Кто какие редакции торговли использует? Я собираю демо-сайт на основе Розница, редакция 2.2 (2.2.6.18) — You are receiving this because you commented. Reply to this email directly, view it on GitHub , or mute the thread .

carono commented 6 years ago

Обновил readme.md, эту же документацию можно получить в самом модуле exchange/article/index