Решение задачи: выгрузка товаров из 1С Предприятие -- Управление торговлей.

89 просмотров
Перейти к первому непрочитанному сообщению

Sasha Koss

не прочитано,
15 дек. 2010 г., 05:55:2915.12.2010
– RubyOnRails to russian
Всем привет,

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

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

https://gist.github.com/741854

Я обошел несколько тонких мест, например баг Passenger при чтении
request.raw_post: http://code.google.com/p/phusion-passenger/issues/detail?id=471.

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

kryzhovnik

не прочитано,
15 дек. 2010 г., 09:40:2515.12.2010
– ror...@googlegroups.com
Это круто! Спасибо, что делишься.

Я как раз сейчас работаю над обменом с 1с.

1. Протокол обмен 1с предлагает получать файл по частям, если его размер превышает установленный лимит.  Я так понял у тебя это тоже не реализовывано "file_limit=1000000000".
Вопрос немного отвлеченный получился: передача файла частям - это какая-то особая HTTP-техника или это просто отдельные post-запросы, содержимое которых нужно склеить в одном файле.
Или все это не нужно, и вопрос больших файлов тут (в контексте обмена с 1с) не стоит?

2. По поводу обмена заказами. Протокол обмена файлами понятен, описан там же, но непонятно, какое содержимое ожидает 1с-ка. Я сейчас вижу один выход: устанавливать Битрикс, создавать в нем заказы, делать запросы на обмен по протоколу и смотреть, что он там отдаст. Может как-то проще?

3. Видел ли кто-то примеры использования CommerceML в решении задач отличных от обсуждаемой?

Sasha Koss

не прочитано,
15 дек. 2010 г., 10:17:5815.12.2010
– RubyOnRails to russian

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 ценности не имеет и
используется только у нас в России.

Vladimir

не прочитано,
17 дек. 2010 г., 07:14:0917.12.2010
– RubyOnRails to russian
Sasha Koss, вы мой герой! искренне благодарствую!

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

Ответить всем
Отправить сообщение автору
Переслать
0 новых сообщений