недавно проскакивал пост с вопросом о том как организовать выгрузку
товаров из 1C, например в онлайн-магазин. Хочу сказать что не смотря
на то что я довольно много времени потратил на то, что бы реализовать
этот функционал, орешек не такой крепкий как кажется и задача довольно
просто решается.
Сейчас более-ли-менее могу помочь советом или даже кодом. Для тех кому
интересно я создал гист с основным кодом.
https://gist.github.com/741854
Я обошел несколько тонких мест, например баг Passenger при чтении
request.raw_post: http://code.google.com/p/phusion-passenger/issues/detail?id=471.
В общем готов помочь или если кто то хочет поделится опытом услышать
замечания или например я не реализовывал обмен заказами, может у кого
то есть готовый код для этого функционала.
On 15 дек, 20:40, kryzhovnik <andrey.samso...@gmail.com> wrote:
> Это круто! Спасибо, что делишься.
Незачто :-). Если бы стандартизировать подход и получить больше
примеров готовых 1С баз, думаю можно было сделать полезный для таких
бедолаг как мы, gem.
> Я как раз сейчас работаю над обменом с 1с.
>
> 1. Протокол обмен 1с<http://dev.1c-bitrix.ru/api_help/sale/catalog_protocol.php> предлагает
> получать файл по частям, если его размер превышает установленный лимит. Я
> так понял у тебя это тоже не реализовывано "file_limit=1000000000".
> Вопрос немного отвлеченный получился: передача файла частям - это какая-то
> особая HTTP-техника или это просто отдельные post-запросы, содержимое
> которых нужно склеить в одном файле.
> Или все это не нужно, и вопрос больших файлов тут (в контексте обмена с 1с)
> не стоит?
Я не уверен на 100%, но исходя о том что я знаю это будут файл
разбитый по частям в raw, по-сути открыть в 'wb+' и дописывать. У меня
база меньше 30 мегабайт, на 1400+ товаров, не думаю что имеет смысл
слать по частям. По-крайней мере на мало-мальски нормальном vps/vds.
> 2. По поводу обмена заказами. Протокол обмена файлами понятен, описан там же<http://dev.1c-bitrix.ru/api_help/sale/orders_protocol.php>,
> но непонятно, какое содержимое ожидает 1с-ка. Я сейчас вижу один выход:
> устанавливать Битрикс, создавать в нем заказы, делать запросы на обмен по
> протоколу и смотреть, что он там отдаст. Может как-то проще?
Можно проще, вот примеры:
http://v8.1c.ru/edi/edi_stnd/131/to.xml
и
http://v8.1c.ru/edi/edi_stnd/131/from.xml
> 3. Видел ли кто-то примеры использования CommerceML в решении задач отличных
> от обсуждаемой?
Думаю что таких нет, потому что сам по себе CML ценности не имеет и
используется только у нас в России.
помнится, что кто-то говорил, что код никто не выложит, а тут нашлись
добрые люди.