|
1С 8.2 УТ 10.3 обмен с php сайтом (с БД MySQL) | ☑ | ||
---|---|---|---|---|
0
MailRes
06.11.14
✎
19:05
|
Всем привет!
Есть 1С 8.2 УТ 10.3 (немного изменена конфигурация - роли - разграничивал доступ по документам) и сайт написанный на PHP с базой MySQL. На первом этапе нужно синхронизировать контрагентов в 1С с MySQL (если добавили контрагента в 1с, то он тут или по расписанию выгружался бы в MySQL, если добавили контрагента в MySQL, то он бы добавлялся в 1С). Мне бы пока понять как это делать... В итоге нужен будет "обычный" обмен для интернет-магазина - обмен заказами, номенклатурами, остатками, ценами. Собственно вопрос - как это лучше сделать (с помощью чего)? В гугле видел ComerceML и "внешнее подключение", и "обмен XML" - не понял куда копать проще и надёждее... |
|||
1
Fragster
гуру
06.11.14
✎
19:08
|
сделай вебсервисы и создавай/обновляй контрагентов онлайн в двух системах
|
|||
2
Fragster
гуру
06.11.14
✎
19:10
|
хотя на самом деле я бы разграничил сущности, создаваемые на сайте и в 1с (на сайте создавал каких-нибудь "пользователей сайта", которых бы при загрузке привязывал к "стандартным" контрагентам 1с)
|
|||
3
MailRes
06.11.14
✎
19:15
|
(1) Как это сделать?) Мне бы для начала понять как вытащить справочник контрагентов и синхронизировать его с сайтом. Чтобы в дальнейшем добавив настроек можно было любой инфой из 1С обмениваться в сайтом (точнее качать из 1С в MySQL и на оборот) :)
(2) Это будет после, немного забегаем вперёд... Ведь у одного пользователя может быть 1, 2, 10 и более юр.лиц. Поэтому пользователи сайта отдельно, а контрагенты отдельно (в разных таблицах MySQL будут храниться) |
|||
4
MailRes
06.11.14
✎
19:17
|
(1) В вопросе "Как это сделать?" Скорее повторяюсь вопросом с помощью чего проще и надежднее? ComerceML? Внешнее подключение? Обмен XML? Или может еще есть лучше варианты?
|
|||
5
КонецЦикла
06.11.14
✎
19:21
|
Если на стороне сайта есть тот, кто напишет выгрузку - загрузку то проще будет xml-файлами :)
Передавать идентификатор из 1С - вот и будет синхронизация. Желательно в одном месте добавлять, в 1С. |
|||
6
Fragster
гуру
06.11.14
✎
19:26
|
(3).2 надо сначала продумать структуру данных и их потоков, а потом делать, иначе через пол годика будет больно.
ну и опять же - у одной сущности должна быть одна "ведущая" система. |
|||
7
MailRes
06.11.14
✎
19:34
|
(5) Идентификатор? Можно подробнее?
Например, спарсить XML, не думаю, что это будет проблемой. Т.к. есть познания как туда сюда из MySQL гонять данные в csv и xls форматы. (6) вот и хочется сразу понять - через что делать? например, сейчас сделаю выгрузку контрагентов, налажу обмен, а когда придёт время браться за заказы, остатки, номенклатуры, то опять придётся переделывать всё - честно, надоело)))) т.к. нехватка знаний даёт свои побочные эффекты, сначала делаешь и кажется это правильным, через пару месяцев узнаешь новое и понимаешь, что то что делал - это ерундень, можно было было сделать проще и практичнее))) |
|||
8
MailRes
06.11.14
✎
19:34
|
p.s. Ну и чтоб автоматом это дело всё синхронизировалось)))
|
|||
9
Woldemar22LR
06.11.14
✎
21:28
|
(8) 1с битрикс, помоему там это все должно быть проще.
|
|||
10
Il19
07.11.14
✎
04:46
|
из "нормальных" он-лайн обменов:
как самый универсальный вариант, уже упоминали - вэб-сервисы; еще в 8.3.5 есть возможность писать прямо в базу мускуля, но это удобно если вэб-сервак "рядом" или нормальный канал; также в 8.3 есть новая фишка от 1с rest-запросы (надстройка над ws), но не вовсех случаях удобна. а файловые там просто выгр-загр по расписанию |
|||
11
necro
07.11.14
✎
07:05
|
В общем,
1. пишем загрузку / выгрузку через XML 2. пишем вебсервис с методами ЗагрузитьФайл/ВыгрузитьФайл... ... А еще лучше - сразу веб-сервисы, потому что там есть XDTO и всё круто, хотя и черех тухес. И желательно сразу предусмотреть загрузку/выгрузку порциями, потому что на время работы PHP-скрипта есть ограничение в 30с, да и вообще. |
|||
12
necro
07.11.14
✎
07:08
|
В работе вебсервисов (и выгрузке/загрузке файлов) на PHP есть существенный недостаток: php всё-таки обычно обслуживает запросы клиентов, и сам по себе не работает (то есть никакой сервис php не крутится постоянно). Получается, что нужно либо придумывать какое-то задание в планировщике на вебсервере (которое уже не факт что будет на php) либо делать онлайн-обмены при каждом действии пользователя, но тогда будут тормоза и разрывы.
|
|||
13
Il19
07.11.14
✎
08:18
|
(12) Это точно! Для синхронизаций удобнее инициировать процессы на стороне 1С, а при появлении вэбзаказов тут оптимальный вариант запуск по расписанию ws или rest ... короче: обходится одним способом обмена не всегда эффективно, лучше комбинировать.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |