|   |   | 
| 
 | 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 ... короче: обходится одним способом обмена не всегда эффективно, лучше комбинировать.     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |