Компания
86,99
рейтинг
1 ноября 2011 в 14:27

Разное → Как мы разрабатывали интеграцию интернет-магазина с 1С: Предприятие и почему она стала массовой. Часть 2

Продолжу рассказ на тему интеграции интернет-магазинов с бэкофисом и подходе к их решению в нашей реализации интеграции интернет-магазина 1С: Битрикс с системой 1С: Управление торговлей.

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

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

Напомню, что в общем и целом была выбрана следующая схема интеграции:

1) Сайт и 1С работают независимо и обмениваются данными в формате CommerceML
2) Сайт не имеет прямого доступа к 1С
3) 1С регулярно обращается к публичному скрипту на сайте, отдавая или принимая данные
3) Инициатором обмена и соединения всегда выступает 1С

Рассмотрим реализацию этой концепции на практике.

Итак, как я уже говорил ранее, в состав конфигурации «1С: Управление торговлей» входит специализированный модуль для обмена данными с сайтами. Это универсальный модуль, работающий по описанному в предыдущем посте протоколу и с использованием формата CommerceML.

Модуль есть в типовой поставке 1С: Управление торговлей как для версии 10.3, так и для версии 11 (платформа 8.2). Помимо 1С: Управление торговлей функционал обмена с сайтами также есть и в других конфигурациях, включая локализованные. Мы свели информацию о поддержке функционала обмена с сайтами в конфигурациях 1С в специальную таблицу — 1c.1c-bitrix.ru/ecommerce/require_1C.php.

Рассмотрим функционал модуля, входящего с состав 1С: Управление торговлей 11.



Первая вкладка интерфейса модуля содержит основные настройки взаимодействия.

Раздел Режим обмена данными — позволяет указать какой режим обмена будет использоваться в данном профиле. Или проще говоря — какая бизнес-задача будет решаться в сеансе обмена: выгрузка товаров, обмен заказами или и то и то.

В разделе Назначение указываются параметры сайта, с которым будет производиться обмен: URL скрипта обмена, учетная запись, которой разрешен обмен. Можно тут же проверить успешность соединения.

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

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

Рассмотрим более подробно решение первой задачи интеграции —

Выгрузка товаров (справочника номенклатуры) из 1С на сайт интернет-магазина


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



Выбор товаров для выгрузки и настройки выгрузки в 1С

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

В варианте «по умолчанию» выгружается весь справочник номенклатуры как есть: все группы и все товары, без каких-либо ограничений. Разумеется, такой вариант понравится не всем, и доступен гибкий выбор — что именно и по каким условиям выгружать на сайт.



Так, например, можно выбрать группы и подгруппы каталога, выгружать товары с ненулевыми остатками, с определенными типами цен (розничная, оптовая, дилерская), с конкретных складов и тому подобное.

Далее, по умолчанию, все товары выгружаются в файл XML в единый каталог (тег <Каталог>). У каждого каталога есть свой классификатор, включающий структуру групп и подгрупп для товаров, а также свойства для всех товаров этого каталога.

Если на сайт выгружаются разные типы товаров, обладающие собственным деревом групп и собственным набором свойств (характеристик), то рекомендуется каждый такой тип выгружать в отдельный каталог. Так, в системе 1С-Битрикс: Управление сайтом, это приведет к тому, что каждый каталог будет выгружен в отдельный информационный блок, у которого свои группы, свойства, права, настройки и т.п. В результате можно в интернет-магазине сделать разное представление для разных типов товаров: иерархия, фильтр по свойствам, сравнение товаров и т.п.

Настройки каталогов в этом случае будут примерно такие:



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

Ставить галочки «Выгружать файлы изображений» и «Выгружать прочие файлы» имеет смысл, если в 1С есть качественные описания товаров, изображения, связанные файлы (инструкции и т.п.). Очень многие владельцы интернет-магазинов не хранят в 1С описания товаров, свойства, качественные описания. В 1С они им не столь нужны, а на сайте как правило есть и HTML-редактор для описаний, и разнообразные утилиты по обработке изображений, нанесению водяных знаков. К тому же, организовать удаленную работу контент-редакторов удобнее всего при работе с веб-сайтом, чем пускать их внутрь 1С. И, тем не менее, находятся и те, кто предпочитает всю описательную часть хранить в одном месте — в 1С, а сайт использовать как инструмент визуализации. Есть и другая задача — когда одни и те же товары выгружаются в несколько интернет-магазинов одновременно. Тогда лучше один раз сделать описания в 1С, а потом их автоматически выгружать на несколько площадок.

Какую выбрать модель управления каталогом — решает конечный пользователь. Главное, что функционал интеграции это позволяет.

Процесс выгрузки

Если теперь запустить выгрузку (нажать кнопку «Выполнение обмена данными»), то 1С начинает подготавливать выгружаемые данные.

Генерируются 2 файла: import.xml и offers.xml (для каждого выгружаемого каталога). Первый файл содержит информацию о товарном каталоге (структура, товары, свойства), а второй — торговые предложения по данному товару. Если у одного товара есть варианты, зависящие от характеристик (цвет, размер и т.п.), то все они будут предложениями в файле offers. Детали — в стандарте CommerceML 2.04.

Если с товарами связаны изображения или файлы, то они размещаются в подпапке import_files, и на них ссылаются данные из XML.

Вот например были выгружены 2 каталога товаров из 1С:



Теперь нужно эти файлы передать на сервер. В протоколе обмена (см.часть 1) для этого есть специальный режим: http://<сайт>/bitrix/admin/1c_exchange.php?type=catalog&mode=file&filename=<имя файла>.

Если объем данных большой (происходит первоначальная выгрузка большого справочника номенклатуры), то конечно хотелось бы оптимизировать передачу файлов.

Во-первых, используется ZIP-сжатие. Как мы помним, перед началом передачи файлов 1С запрашивает у сайта параметры обмена, среди которых есть флаг поддержки ZIP-сжатия. Все файлы упаковываются и получается один zip-архив, который и отправляется на сайт. Если сжатие не поддерживается, отправляются все файлы из папки (включая картинки) последовательно.

Во-вторых, многие хостинг-провайдеры лимитируют объем данных, передаваемых POST-запросом. И даже zip-архив может легко не пройти, если он составляет десятки мегабайт. В этом случае 1С может разбивать выгружаемые файлы на порции, если их размер превышает максимально допустимый. На стороне сайта происходит прием пронумерованных порций и последующая их сборка обратно в единый файл. Максимальный размер порции данных 1С также получает от сайт в режиме инициализации обмена.

Теперь принятые файлы нужно обработать на стороне сайта и загрузить в базу сайта.

Здесь также есть момент ограничений хостинга. Обработкой (разбором XML и загрузкой в базу) занимается PHP-скрипт, время работы которого обычно лимитировано. Конечно, в начале скрипта стоит set_time_limit(0), но не везде это работает. Поэтому в настройках 1С-Битрикс можно указать максимальное время, которое может отработать скрипт — по умолчанию 30 секунд. Тогда при достижении этого лимита, скрипт будет перезагружен и продолжит импорт с предыдущей позиции в файле.

Кроме того, скрипт импорта может сравнивать контрольные суммы XML-описания товаров в обрабатываемом файле с контрольной суммой этого товара в базе с момента предыдущей загрузки. Если контрольные суммы совпадают, то товар пропускается и не обновлняется. Это нужно для тех случаев, когда каталог уже выгружен на сайт, а из 1С все равно делается полная выгрузка. Тогда импорт данных будет выполнен существенно быстрее.
Конечно, всегда рекомендуется настраивать в 1С именно выгрузку только измененных позиций, тогда полная выгрузка будет сделана только 1 раз, а затем пойдут небольшие порции данных, которые будут загружаться на сайт очень быстро.

Настройки импорта данных на стороне сайта

Параметры импорта каталога из 1С настраиваются в 1С-Битрикс в административной части на специальной странице «Интеграция с 1С»



Я не буду далее вдаваться в подробности настроек импорта, коих множество: обработка изображений, генерация ЧПУ для товаров, обработка данных, отсутствующих в файле импорта, но имеющихся на сайте и тому подобное. В общем и целом, каталоги из 1С максимально полно отражаются в каталоги на сайте.

Выгружаются:
  • Структура групп каталога
  • Список товаров группы
  • Свойства товаров (числовые, строковые, тип «список», дата-время, булево)
  • Описание товара (включая описание в HTML)
  • Связанные изображения и файлы
  • Набор цен (розница, опт, дилерская и т.п.
  • Остатки на складах
  • Набор предложений по товару, различающихся характеристиками

За счет механизмов оптимизации решается вопрос с первоначальной выгрузкой и обработкой больших объемов данных. Режим выгрузки только измененных позиций в 1С, позволяет практически не задумываться о нагрузке для последующих сеансов обмена.

Также хочется сказать, что в 1С профилей настроек выгрузки товаров на сайт может быть множество. Они образуют так называемые узлы обмена:



Это дает еще большую гибкость, поскольку, можно например разные категории товаров обновлять в разное время, выгружать товары на разные сайты и в разные CMS системы и т.п. Кроме того, в разное время, не связанное с выгрузкой товаров, можно производить и обмен заказами: например принимать заказы с сайта каждые 5 минут.

Но об обмене заказами я расскажу в третьей, заключительной части.
Автор: @Ryabinkov
1С-Битрикс
рейтинг 86,99

Комментарии (48)

  • +8
    Вы так пишите как будто это всё у вас работает. :0)

    В реале я за последние несколько лет не видел ни одной нормальной типовой интеграции битрикса с 1с-ом, всюду ужас как плохо, в независимости от крутости внедренцев и количества вложенных денег.
    • +1
      Дак её разрабатывали и продолжают разрабатывать.
      Это процесс, а не конечный готовый и удобный продукт.
      Автор описал что уже удалось реализовать.

      Надеемся, что в следующих статьях будут описаны существующие проблемы, методы и направления их решения, а так же, что осталось сделать ещё чтобы был конечный готовы продукт.
    • +2
      Я в реале много раз видел попытки организовать кастомные интеграции битрикса и 1С, причем, фантазия у народа была безгранична. Особой популярностью пользовался, почему-то, soap. И, в общем-то, ни одна из них не превышала функциональностью вышеописанный протокол обмена.
      • +2
        > Особой популярностью пользовался, почему-то, soap.
        Нестандартные задачи, доработки, кстати, очень часто делают с помощью веб-сервисов. Например, выдернуть из 1С какую нибудь инфу в личный кабинет клиента.
      • 0
        А я сам за последние несколько лет сделал несколько очень качественных интеграций 1с с битриксом (и не только) в нескольких крупных интернет магазинах. Я скажу так, для интеграции 1с с битрисом, soap, CommerceML и прочие xml — очень плохие способы, были, есть и будут. Хороша только интеграция на «прямых запросах». А если объёмы данных большие или обмен сложный то «прямые запросы» — без альтернатив вообще.

        Поверьте, я уже собаку на этом съел.

        З.Ы. Про Fodex ничего не слышал, не могу ничего сказать.
        • +3
          В предыдущем посте на эту тему я многократно повторял, какие требования предъявлялись к нашей интеграции: готовое решение из коробки, безопасность 1С, надежная работа даже на больших объемах данных, гибкость настройки.

          Если вы считаете что вопрос с прямыми запросами в БД или soap не прорабатывался, то ошибаетесь. Но у любого метода есть как достоинства, так и недостатки. Об этом и был весь предыдущий пост.

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

          Если для вас это очевидная истина, почему вы считаете что мы об этом не в курсе? :) Да, можно сделать прямые запросы, но без сисадмина или программера 1С это не заработает из коробки. А у нас — работает.
          • –6
            >В предыдущем посте на эту тему я многократно повторял, какие требования предъявлялись к нашей интеграции: готовое решение из коробки, безопасность 1С, надежная работа даже на больших объемах данных, гибкость настройки.

            Вот тут у вас неправильная либо лукавая постановка задачи. Потому что даже небольшой интернет магазин часто имеет сильно переделанную 1с и сайт с кучей своих нюансов и «готовые решения из коробки» превращаются в ужас. Я уж не говорю про большие интернет магазины — там ваши потуги с написать и впарить «готовое решение из коробки» просто смешны для людей которые хоть раз с этим сталкивались.

            Скажите честно, что задача решить проблемы клиентов и не стояла, а стояла задача нарубить бабала. Вы просто впариваете свой продукт менеджерам и владельцам, дескать вот у вас «всё из коробки и на больших объёмах», а менеджер ведь не понимает чо к чему, ему мерещиться что если битрикс (или ещё какая коробка) все рекламируют и внедряют то значит это хороший продукт нужный ему. :)

            >Если для вас это очевидная истина, почему вы считаете что мы об этом не в курсе? :) Да, можно сделать прямые запросы, но без сисадмина или программера 1С это не заработает из коробки. А у нас — работает.

            Покажите мне успешный крупный интернет магазин, который существует без пары программистов и сисадминов, да ещё и в котором работают ваши «решения из коробки»? :)

            Sigurd:>Интересно, как можно организовать интеграцию на прямых запросах, если сайт болтается на чужом хостинге, а 1Ска — в офисе? Все зависит от масштабов — крупный проект имеет смысл держать на своих серверах, для мелких шаред-хостинга за глаза. А синхрон с 1С облегчит жизнь везде.

            Если у вас маленький интернет магазин, живущий на небольшом шаред хостинге, то вы хоть руками можете синхронизировать, это не принципиально. Но если у вас большой магазин, то палюбому между сервером 1с и сайтом придётся делать канал для интенсивного обмена, тут уж как не крутись.
            • +7
              Отвечать на ваш комментарий, непросто, между фразами слабая причинно-следственная связь на мой взгляд, и много умозаключений, не имеющих отношение с действительностью.

              Но попробую и начну с конца.

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

              Это просто глупость. Заставьте людей ежедневно синхронизировать базу даже в сотню наименований. Тут даже не знаю что сказать. Или в вашем понимании маленький магазин это 10 товаров?

              > Покажите мне успешный крупный интернет магазин, который существует без пары программистов и сисадминов, да ещё и в котором работают ваши «решения из коробки»? :)

              Этим вопросом вы конечно можете шокировать кого-то, но не компанию, у которой более 60 000 (шестидесяти тысяч) клиентов и более 6 000 (шести тысяч партнеров). Вы или слабо знакомы с нашей компанией и продуктами (а такое точно есть), или упорно закрываете на это глаза (и это тоже заметно).

              Неужели вы считаете всех этих клиентов и партнеров настолько глупыми, чтобы не видеть очевидных вещей — что предлагаемые решения успешно работают в сотнях и тысячах компаний. Не исключение и интеграция с 1С, разумеется такие проекты есть и их вагон. www.1c-bitrix.ru/products/cms/projects/index.php откройте, выберите магазины, редакции со словом «бизнес», сделайте выборку. Покликайте по описаниям, увидите кучу проектов с интеграцией с 1С. Да, не везде партнеры делают описания проектов, но и без этого примеров масса. Есть еще раздел на сайте 1c.1c-bitrix.ru/ecommerce/projects.php, правда он давно не обновлялся.

              Вот из недавнего что попадалось на глаза — типичный небольшой магазин, построенный на коробочном решении, коробочном дизайне (с минимумом изменений) и коробочной интеграцией с 1С: bt43.ru/. Это небольшой региональный магазин.
              Позвоните им и скажите, что предлагаете базу товаров обновлять вручную. И также спросите есть ли у них 2 программиста 1С и сисадмин. Нет конечно, да сайт им делал наш партнер, у которого они и хостятся. И это всего лишь один пример, коих просто туча.

              Вот еще ссылки (просто навскидку понажимал по кейсам): www.1c-bitrix.ru/products/cms/projects/projects/327879/, www.1c-bitrix.ru/products/cms/projects/projects/324076/, www.1c-bitrix.ru/products/cms/projects/projects/324076/
              Вы можете на все закрыть глаза, но это уже ничего не изменит, ибо таких проектов и клиентов очень и очень много.
              Да, что-то дорабатыватся под клиента, и я об этом писал, вот пример из кейса: www.1c-bitrix.ru/products/cms/projects/projects/324733/ прямая передача заказа в 1С.

              > Скажите честно, что задача решить проблемы клиентов и не стояла, а стояла задача нарубить бабала. Вы просто впариваете свой продукт менеджерам и владельцам, дескать вот у вас «всё из коробки и на больших объёмах», а менеджер ведь не понимает чо к чему

              У вас какое то гипертрофированное представление о менеджменте и менеджерах. И оно очень походит на типовое представление о менеджере у среднестатистического программиста: бездельник, ничего не понимает и ему все можно впарить и т.п. Смею вас уверить что это мнение ошибочное в большинстве случаев. Ибо менеджер прежде всего это тот, кто несет за проект ОТВЕТСТВЕННОСТЬ и с него первого будет спрос, если результата не будет. А приоритеты любого нормального менеджера это быстрое достижение рабочего результата (не идеального сразу возможно), гарантии надежности и решения бизнес-задачи в разумные сроки с меньшими рисками.

              И здесь коробочное решение, тиражируемое и отчуждаемое решение с техподдержкой как раз имеет массу преимуществ перед кастомной разработкой, дорогостоящей и рискованной зачастую.
              Если менеджер смог быстро в сжатые сроки получить результат, решить бизнес-задачу — то как правило далее ему дается карт-бланш на любые доработки и оптимизации. И здесь мы не умаляем ваши заслуги, если вы специализируетесь именно на нетиповых задачах, на задачах требующих индивидуального подхода и оптимизации. Просто это уже другая история.

              А насчет фразы «срубить бабло» я даже не буду особо комментировать — цель любой коммерческой организации это извлечение прибыли, и в нашем уставе это тоже записано :)

              > ваши потуги с написать и впарить «готовое решение из коробки» просто смешны для людей которые хоть раз с этим сталкивались

              Мы продаем бизнес-решение, которое работает и проверено внедрениями, решение по интеграции, которое можно дорабатывать и улучшать. Нашу концепцию обмена с 1С поддержали конкуренты, как среди CMS, так и среди учетных систем.
              Платформа 1С-Битрикс позволяет реализовывать любые интеграции, хоть прямой доступ, хоть SOAP, хоть CSV, если типовая вас не устраивает. Мы также признаем, что нашу интеграцию есть куда улучшать и улучшаем постоянно.

              Мы написали о нашем опыте и результатах, вам смешно, вы посмеялись. Чтобы ситуация не выглядела однобоко — предлагаю вам написать пост про ваш опыт, про ваше решение, и сообщество его обсудит и сделает выводы в комментариях.
              • –9
                >Отвечать на ваш комментарий, непросто, между фразами слабая причинно-следственная связь на мой взгляд, и много умозаключений, не имеющих отношение с действительностью.
                >
                >Но попробую и начну с конца.

                Ну да, ну да, всякий кто критикует битрикс — дегенерат или завистник, это же ваш фирменный стиль.

                >Это просто глупость. Заставьте людей ежедневно синхронизировать базу даже в сотню наименований. Тут даже не знаю что сказать. Или в вашем понимании маленький магазин это 10 товаров?

                Я конечно понимаю что вам хочется пообсуждать синхронизацию в сто товаров, и я рад за вас, но я там написал вообще-то не про это. :0)

                >Этим вопросом вы конечно можете шокировать кого-то, но не компанию, у которой более 60 000 (шестидесяти тысяч) клиентов и более 6 000 (шести тысяч партнеров). Вы или слабо знакомы с нашей компанией и продуктами (а такое точно есть), или упорно закрываете на это глаза (и это тоже заметно).

                У гербалайфа тоже сотни тыщь клентов и они тоже не могут ошибаться, это серьёзный бизнес, а я смею упорно закрывать на это глаза. :0)

                >Неужели вы считаете всех этих клиентов и партнеров настолько глупыми, чтобы не видеть очевидных вещей — что предлагаемые решения успешно работают в сотнях и тысячах компаний. Не исключение и интеграция с 1С, разумеется такие проекты есть и их вагон. www.1c-bitrix.ru/products/cms/projects/index.php откройте, выберите магазины, редакции со словом «бизнес», сделайте выборку. Покликайте по описаниям, увидите кучу проектов с интеграцией с 1С. Да, не везде партнеры делают описания проектов, но и без этого примеров масса. Есть еще раздел на сайте 1c.1c-bitrix.ru/ecommerce/projects.php, правда он давно не обновлялся.

                Дело в том что вашими партнёрами становятся главным образом владельцы бизнеса и люди которые ничего не понимают в сайтах и автоматизации. Я ни разу не видел ни одного нормального ПХП программиста, который станет покупать битрикс в здравом уме, а вот его шеф — запросто, ибо вы умеете впаривать как никто другой и это можно понять, но зачем вы на программистком форуме пытаетсь убедить нас в том что всё в битрикес круто с типовым решением, как будто мы тут ничо сами не понимаем и не сталкивались с этим вашим битриксом. :0)

                >Вот из недавнего что попадалось на глаза — типичный небольшой магазин, построенный на коробочном решении, коробочном дизайне (с минимумом изменений) и коробочной интеграцией с 1С: bt43.ru/. Это небольшой региональный магазин.
                Позвоните им и скажите, что предлагаете базу товаров обновлять вручную. И также спросите есть ли у них 2 программиста 1С и сисадмин. Нет конечно, да сайт им делал наш партнер, у которого они и хостятся. И это всего лишь один пример, коих просто туча.

                Вот еще ссылки (просто навскидку понажимал по кейсам): www.1c-bitrix.ru/products/cms/projects/projects/327879/, www.1c-bitrix.ru/products/cms/projects/projects/324076/, www.1c-bitrix.ru/products/cms/projects/projects/324076/
                Вы можете на все закрыть глаза, но это уже ничего не изменит, ибо таких проектов и клиентов очень и очень много.
                Да, что-то дорабатыватся под клиента, и я об этом писал, вот пример из кейса: www.1c-bitrix.ru/products/cms/projects/projects/324733/ прямая передача заказа в 1С.

                Я бы вам поверил, но зная вашу битриксовскую способность раздувать щёки и пускать пыль в глаза я поверю только если сам увижу и пощупаю весь цикл обмена. :0)

                >У вас какое то гипертрофированное представление о менеджменте и менеджерах. И оно очень походит на типовое представление о менеджере у среднестатистического программиста: бездельник, ничего не понимает и ему все можно впарить и т.п. Смею вас уверить что это мнение ошибочное в большинстве случаев. Ибо менеджер прежде всего это тот, кто несет за проект ОТВЕТСТВЕННОСТЬ и с него первого будет спрос, если результата не будет. А приоритеты любого нормального менеджера это быстрое достижение рабочего результата (не идеального сразу возможно), гарантии надежности и решения бизнес-задачи в разумные сроки с меньшими рисками.

                Я никогда не говорил что менеджеры — глупые бездельники, поздравляю соврамши. У меня просто опыт более 10 лет в сфере автоматизации и я уже знаю все возможные пьесы этого театра. Я всего лишь сказал что ваш серьёзный бизнес построен на том что менеджеру проще всего впарить такую шляпу как битрикс, надо всего лишь пропеть про 60000 партнёров и сказать что они не могут ошибаться. :0)

                >И здесь коробочное решение, тиражируемое и отчуждаемое решение с техподдержкой как раз имеет массу преимуществ перед кастомной разработкой, дорогостоящей и рискованной зачастую.
                Если менеджер смог быстро в сжатые сроки получить результат, решить бизнес-задачу — то как правило далее ему дается карт-бланш на любые доработки и оптимизации. И здесь мы не умаляем ваши заслуги, если вы специализируетесь именно на нетиповых задачах, на задачах требующих индивидуального подхода и оптимизации. Просто это уже другая история.

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

                >А насчет фразы «срубить бабло» я даже не буду особо комментировать — цель любой коммерческой организации это извлечение прибыли, и в нашем уставе это тоже записано :)

                Ну так вот я и говорю что вы просто грамотно рубите бабло, и молодцы. :0)

                >Мы написали о нашем опыте и результатах, вам смешно, вы посмеялись. Чтобы ситуация не выглядела однобоко — предлагаю вам написать пост про ваш опыт, про ваше решение, и сообщество его обсудит и сделает выводы в комментариях.

                Я за три года в сфере интернет-торговли так и не увидел ваш успешный опыт, а вы уже предлагаете пообсуждать мой опыт. Интернет магазины которые я автоматизирую имеют продажи в среднем по несколько тысяч товаров в день, количество номенклатуры — до полумиллиона, скорость передачи изменений между 1с-ом и битриксом (и не только) как правило меньше секунды. Но это всё не в тему, ибо это полностью нетиповое, а мы тут обсуждаем ваши типовые решения.
                • +1
                  > Дело в том что вашими партнёрами становятся главным образом владельцы бизнеса и люди которые ничего не понимают в сайтах и автоматизации.

                  О, этим вы, я думаю, оскорбили множество компаний, наших партнеров :)
                  Гляньте сюда: 2011.tagline.ru/top100/
                  и причем тут гербалайф, если мы говорим о веб-разработке? может быть еще евросеть обсудим, или МТС с билайном?

                  > Я за три года в сфере интернет-торговли так и не увидел ваш успешный опыт

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

                  > Интернет магазины которые я автоматизирую имеют продажи в среднем по несколько тысяч товаров в день, количество номенклатуры — до полумиллиона, скорость передачи изменений между 1с-ом и битриксом (и не только) как правило меньше секунды.

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

                  Рад, что вы наконец то написали:
                  > Но это всё не в тему

                  как итог всей вашей критики. Ибо она действительно не в тему.

                  > ибо это полностью нетиповое, а мы тут обсуждаем ваши типовые решения.

                  Да, мы обсуждаем типовые решения, КЭП ) А вы упорно продолжаете типовое решение из коробки за 25 тыс. рублей сравнивать с кастомным за другие деньги, сроки. Успехов в этом!
                  • –4
                    >О, этим вы, я думаю, оскорбили множество компаний, наших партнеров :)
                    Гляньте сюда: 2011.tagline.ru/top100/
                    и причем тут гербалайф, если мы говорим о веб-разработке? может быть еще евросеть обсудим, или МТС с билайном?

                    Гербалайф притом что на любую критику битрикса следует чисто сектаский ответ — «наши 60000 партнёров не могут ошибаться». :0)

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

                    Да я то как раз и держу глаза открытыми. :0)

                    >> Интернет магазины которые я автоматизирую имеют продажи в среднем по несколько тысяч товаров в день, количество номенклатуры — до полумиллиона, скорость передачи изменений между 1с-ом и битриксом (и не только) как правило меньше секунды.

                    >Очень и очень здорово, и таких разработчиков, кто может сделать кастомный обмен с битриксом — у нас сотни. Любой каприз клиента, как говорится.

                    Ваш ответ выдаёт в вас дилетанта и болтуна, в России просто нет столько таких крупных интернет-магазинов и ваши сотни разработчиков имеющие такой опыт это как-то из области очередной битриксовской фантастики. Это правильно, врать нужно масштабно, авось не заметят. :0)

                    >Рад, что вы наконец то написали:
                    >> Но это всё не в тему

                    >как итог всей вашей критики. Ибо она действительно не в тему.

                    Передёргиваете слова, значит сказать больше нечего. :0)

                    >Да, мы обсуждаем типовые решения, КЭП ) А вы упорно продолжаете типовое решение из коробки за 25 тыс. рублей сравнивать с кастомным за другие деньги, сроки. Успехов в этом!

                    Да, мы обсуждаем типовые решения, КЭП ) А вы упорно продолжаете противопоставлять своё типовое решение из коробки за 25 тыс. рублей с моим кастомным за другие деньги, сроки. Успехов в этом! :0)
        • +1
          Интересно, как можно организовать интеграцию на прямых запросах, если сайт болтается на чужом хостинге, а 1Ска — в офисе? Все зависит от масштабов — крупный проект имеет смысл держать на своих серверах, для мелких шаред-хостинга за глаза. А синхрон с 1С облегчит жизнь везде.

          Мое мнение — все является плохим способом, если требует существенных ресурсов на разбор входящих данных. Так что, все xml-образные альтернативы представляют собой одни и те же яйца, вид сбоку.

          Другое дело, когда речь идет о тиражном решении, которое должно работать на 80% сайтов, независимо от их абсолютного и относительного расположения. Вот тут см. коммент Артема ниже — он все ответил.

          А оставшиеся 20% как раз и составляют две категории — крупные проекты, для которых острее всего стоит проблема производительности, и те, кто прикручивает инет-магазин к уже устоявшейся схеме работы, не вписывающейся в рамки стандартного обмена.
    • 0
      А фодекс не смотрел?
      • 0
        *Fodex
  • +5
    ну работает это не у нас, а у клиентов :) Конечно, есть множество работающих интеграций и кейсов, иначе бы никто этим не пользовался.
    Насчет доработок под конкретного клиента — да, есть моменты, которые еще нужно улучшить, дать больше гибкости партнерам, также часто 1С на стороне клиента сильно модифицирована под задачи организацию, и отсюда возникают нестандартные требования.
    • –5
      Знаете, это звучит также как обычнокомментатор по тв ведёт разговор после матча сборной России по футболу… «Да, многое у нас не получилось, надо подтянуть связи между линиями. Но, прогресс на лицо. И, конечно, у нас большие перспективы.»
      • +3
        Вы конечно извините, но ваш комментарий звучит так, что Москва не может считаться столицей, пока на ней не построен последний дом. Вот когда будет построен — тогда можно называться столицей.
        Как уже верно было замечено выше, это процесс, который можно улучшать до бесконечности.

        Я не говорил, что наш функционал не рабочий. Все что я описал — работает штатно и из коробки, что я сам лично демонстрирую на семинарах и других презентациях. Я говорил о нестандартных внедрениях, и повышению гибкости доработок для партнеров. Да, наш модуль (и со стороны 1С, и со стороны 1С-Битрикс) есть куда улучшать, и тут нет никакого секрета. У нас 6000 партнеров, конкретно с интеграцией работают сотни партнеров, и мы получаем массу фидбека и пожеланий, также и от клиентов. Неразумно остановиться в развитии и не учитывать их.
        • +3
          Да, погорячился, извините. Видимо, взгляд замылен. Прочёл как хотел, а не как на самом деле.
    • 0
      Было бы полезнее не делать комбайн как сейчас, а сделать некое API (набор функций/процедур) и объектов в базе, чтобы им могли пользоваться и было бы удобно это делать под другие WEB платформы как то: Drupal (ubercart, commerce), WMShop и д.р.
      И на базе этого API реализовывать обмен с битриксом (как пример) в типовых конфигурациях 1С.

      Сейчас приходится часть функций выдирать из вашей обработки, часть дописывать/переписывать. Часть ваших объектов использовать нестандартно и дополнять своими.

      Короче, вместо удобного инструментария и решения на нем своей задачи получили мегакомбайн неудобный, непонятный и к тому же плохонатраиваемый под конкретные нужды.
      • +1
        Не соглашусь с вами.
        Никакого комбайна как раз и нет.

        если немного утрировать задачи интеграции, то:

        — Есть функционал в продуктах 1С, который подготовливает данные для выгрузки и отдает их на удаленный сайт по стандартному протоколу и в стандартизованном формате.

        — Есть протокол обмена, универсальный, не привязанный к CMS, есть формат CommerceML, опять же по сути не зависящий ни от 1С, ни от CMS

        — есть функционал в CMS 1С-Битрикс (и в других CMS), который по стандартному протоколу принимает файлы и далее выполняет какую то их обработку, запись в свои структуры хранения данных.

        Где здесь комбайн? Как вы видите не комбайн?

        > Сейчас приходится часть функций выдирать из вашей обработки, часть дописывать/переписывать

        Из какой обработки, из 1С? или из компонента обмена в 1С-Битрикс? И там и там есть возможность переработать, и это самое главное. Со стороны 1С-Битрикс вообще используется обычный компонент 2.0, который можно перерабатывать сколько угодно, хоть вынести в свое пространство имен и редактировать без страха за обновления, благо все в исходниках.
        На стороне 1С тоже есть возможность доработки — но еще раз повторюсь, на общей массе внедрений все таки серьезные доработки 1С это нечасто, просто поверьте на слово.

        > Короче, вместо удобного инструментария и решения на нем своей задачи получили мегакомбайн неудобный, непонятный и к тому же плохонатраиваемый под конкретные нужды

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

        Если не хватает настроек (и такое бывает) — пишите мне, обсудим реализацию и включение в типовой функционал. Все это реально.
  • +2
    Особенно обмен радует, когда пара XML-файлов по сотне мегабайт, и все это дело на E5620 / 16G / 15k RAID10 залипает часов на 10.
    • +1
      1) В нашей техподдержке по таким ситуациям разбираются вполне успешно, попробуйте обратиться, проанализируют и 1Совскую часть, и функционал на сайте, дадут рекомендации по выгрузке.
      Есть ряд стандартных рекомендаций, которые помогают во многих случаях. Так например, во время импорта можно отключить встроенный индексатор модуля поиска, и ряд других подобных.

      2) Если даже и залипает, то успешно доходит до конца, благодаря архитектуре, а не вылетает по причине превышения MAX_UPLOAD_SIZE или TIME_LIMIT или какой нибудь ошибке сервера. Для клиента это более важно, чем быстрее, но нестабильно.

      3) Выгрузка такая идет первый раз, далее идут только изменения, что уже несущественно.

      4) Даже если из коробки на сайт успешно выгружаются пусть за несколько часов но десятки тысяч товаров с описаниями, картинками, то это уже результат
      • –5
        Спасибо, п. 4 — прямо битриксовский девиз. :) Как-нибудь работает и хорошо. Там люди просто ошиблись в выборе на начальном этапе. Сейчас выкатываем кастомное решение на Django, стоимость разработки немногим выше с учетом всех доработок и переделок, которые пришлось внести. Те же XML-и полностью импортируются за 2-3 минуты. Для мелких магазинов без бюджета на разработку, может быть, все это подходит (хотя откуда у них тогда 1С). Для средних и крупных уже никак совсем.
        • +1
          п.4 — это не девиз, это констатация факта. Знаете другой обмен из коробки (!), которым можно выгрузить данные даже крупные.

          Про обмен XML, прямые запросы — я уже ответил выше другому специалисту. Да, пожалуйста, надо прямые запросы или soap, или CSV — нет проблем.

          У крупного или среднего магазина есть и бюджеты и задачи, чтобы без конца оптимизировать обмен, бороться за каждый запрос. Для массового рынка это не так принципиально. Опять могу провести аналогию с автомобилями и тюнингом — но не буду, я это делал в предыдущем посте.

          Насчет мелких магазинов и 1С — вы ошибаетесь, 1С: УТ совсем не дорогая, даже в масштабах малого бизнеса, а готовится к выходу и обмен с 1С: УНФ (управление небольшой фирмой) — она еще дешевле.
        • +1
          Кстати, дополню насчет малых магазинов. Они вполне могут использовать и SaaS-решения, тот же «Мой склад». Там как раз используется наша архитектура и подход к интеграции, тот же формат CommerceML и т.п.

          В этом и суть универсального, продукто-независимого протокола обмена, вместо битрикса может быть другая CMS, а вместо 1C — тот же мой склад. Никакая кастомная релизация интеграции несмотря на все ее преимущества, не может этого обеспечить.

          Но как правило все серьезные и распространенные платформы содержат механизмы для доработок любых выгрузок под кастомные задачи. Вопрос в том, насколько это удобно для разработчика. Но это уже отдельная тема.
  • +3
    При желание и на Битриксе вам удалось бы достигнуть тех же результатов. Советую воспользоваться советом по обращению в тех. поддержку.

    Очень часто при возникновении какой либо проблемы, вместо того чтобы разобраться в ней, принимаются координальные решения о смене платформы и разработке с нуля. Хотя сама проблема может быть элементарной и решаться «малой кровью».
  • 0
    У нас выгрузка остатков выполнялась в обычный csv и 1с загружала файл на ftp сайта. Скрипт по крону импортировал эти остатки.
    Потом переделали: 1с выгружает в MySQL раз в сутки. Прямых запросов в 1с нет и вряд ли будет по соображениям безопасности.
    + через 1с завязаны карточки товаров, их фото и описание. На уровне системы идет синхронизация папки с фото товаров
  • +1
    Можно пожаловаться?
    1. Почему xml с русскими тегами?
    2. Почему такой медленный? (мы сделали быструю синхронизацию, тоже через xml, правда без создания свойств и типов цен, но работает она быстрее раз в 10 быстрее — 20 минут вместо 4-5 часов).
    3. Что за костыль висит на множественных картинках?
    • +1
      Насчет XML — ну русский стандарт, русские теги. Почему недостаток? Избыточность? что еще? сложности парсинга?
      Кстати, как то давно была сделана и английская версия формата. У меня есть, могу выслать почтой. Но распространения не получила. Особых плюсов не было выявлено.

      Почему такой медленный? Тут нужно видимо дополнительно уточнять. Свойства и типы цен — это, разумеется, лишние insertы. Но тут возможна оптимизация, например инфоблок перевести в режим хранения свойств в одной таблице, тогда insertов будет существенно меньше. Цены соответственно тоже. Обратитесь в суппорт, помогут оптимизировать.

      Про костыль уточните, что за костыль?
      • –2
        Русские символы это 1) необходимость следить за кодировками, 2) возможные проблемы с некоторыми библиотеками по работе с xml, 3) в случае с utf размер файла существенно раздувается.

        У вас же не проходят инсерты если новые типы цены не появились? В инфоблоке очень много свойств (там товары из интернет магазина компьютеров), а mysql ограничена 60 столбцами. В общем, в случае когда выгрузка делает одно и то же (обновляет количества, свойства, цены) у вас она все равно работает более чем в 10 раз медленней чем возможно.

        Костыль в том, что все свойства идут в формате
        <ЗначенияСвойства>
        <Ид>ид</Ид>
        <Значение>значение</Значение>
        </ЗначенияСвойства>


        А картинки (свойство more_photo)
        <Картинка>import_files/d3/d32d090c-0065-11e1-b29d-003048d60233_3d6e5e65-03d8-11e1-857c-003048d9cfd1.jpeg</Картинка>
        <Картинка>import_files/d3/d32d090c-0065-11e1-b29d-003048d60233_3d6e5e66-03d8-11e1-857c-003048d9cfd1.jpeg</Картинка>


        И их связь не очевидна.
        • +2
          > 1) необходимость следить за кодировками
          Следите за кодировками, UTF должно быть. Или данные в CommerceML у вас тоже все на латинице? )

          > 2) возможные проблемы с некоторыми библиотеками по работе с xml
          полно библиотек, которые корректно работают с UTF.

          > 3) в случае с utf размер файла существенно раздувается.
          Существенно это сколько? Как правила основная нагрузка не на передачу файла на сайт (напомню еще раз что он зипуется), а разбор XML и импорт данных. Поэтому в общем, это как раз влияет на общую производительность незначительно!

          > У вас же не проходят инсерты если новые типы цены не появились? В инфоблоке очень много свойств (там товары из интернет магазина компьютеров), а mysql ограничена 60 столбцами. В общем, в случае когда выгрузка делает одно и то же (обновляет количества, свойства, цены) у вас она все равно работает более чем в 10 раз медленней чем возможно.

          Прошу прощения, но правда очень сумбурно и непонятно, особенно фраза «чем возможно». Возможно где, как при каких условиях? Предложу обсудить это в переписке — artem эт 1c-bitrix.ru. Результаты обсуждения выложим сюда, как итог.

          > Костыль в том, что все свойства идут в формате
          Костыль в том как идут данные в XML, или как они потом импортируются в инфоблок?
          Есть одна доработка, которую мы уже поставили в план — это возможность все картинки импортировать в одно свойство инфоблока, чтобы их лучше потом выводить на сайте различными плагинами-каруселями на jquery, mootols. Проще код в шаблоне получается. Если вы об этом — то да, скоро будет.

          Кстати в третьей заключительной части расскажу о наших планах по улучшению интеграции.
  • 0
    > В 1С они им не столь нужны, а на сайте как правило есть и HTML-редактор для описаний, и разнообразные утилиты по обработке изображений, нанесению водяных знаков.

    А что мешает написать dll для обработки изображений (нарезка и защита) в самой 1С и вставить HTML-редактор для более удобного заполнения описания? Очень удобно содержать или управлять всем сайтом в 1с, зачем плодить админки. По хорошему бекэнд магазина и не нужен. В 8.2 можно управлять базой прямо из браузера удаленно, что мешает туда вынести все возможности.

    в 8.2 убрали логотип Битрикса с выгрузки, конкуренты ваши пользуются ей, раньше хоть было понятно чья туфля, а теперь каждая CMS пишет о наличии синхронизации с 1С с таким пафосом, хотя наверное, самой 1С это выгодней :)

    PS Статья хорошая.
    • 0
      Спасибо за отзыв.

      Насчет dll и функционала для картинок, такое есть объяснение. В бэкофисных задачах описания, свойства и картинки обычно не нужны. Там другие задачи. Они больше нужны на сайте, где делается презентационный каталог, и кроме свойств могут быть еще рейтинги, обзоры, тесты, сравнения, инструкции и т.п. Конечно теоретически все это можно затащить внутрь 1С, но для большинства клиентов это не нужно. Представьте кстати объем выгрузки в этом случае.
      Ну и организационно опять проблемы — контент менеджеров надо пускать в 1С, доступы и т.п.

      Как бы логически хорошо, что все в одном месте, но на практике такая модель распространения не получила. Хотя в целом иногда встречаются примеры таких внедрений.

      > в 8.2 убрали логотип Битрикса с выгрузки, конкуренты ваши пользуются ей, раньше хоть было понятно чья туфля, а теперь каждая CMS пишет о наличии синхронизации с 1С с таким пафосом, хотя наверное, самой 1С это выгодней :)

      Вы знаете, конкуренты писали с не меньшим пафосом и тогда, когда был логотип. Не буду приводить примеров тут, но доходило до смешного :)
      Мы не сильно страдаем от того, что логотипа нет, с точки зрения учетной системы возможно это правильно и универсально, мало ли какая у клиента CMS. Но в целом все клиенты в курсе, что все равно весь этот функционал изначально родной для 1С и 1С-Битрикс.
  • 0
    Ну не знаю, мы это реализовали в этом году, пользователям нравится управлять всем сайтом из оболочки 1с. Если интересно то посмотреть можно тут.
    • 0
      Интересно, почитал.
      Но все таки останусь на свое мнении, что для массового рынка это не подходит по причинам описанным выше. Все таки сайтом обычно управляют на сайте. Я помню были CMS-ки, в виде софта для винды, которые на выходе генерировали HTML и выгружали на сайт по ftp. Но сейчас о них никто не помнит.
      • 0
        Вы же сами выше писали что ваши клиенты, которые ничего не понимают в информационных технологиях. Где будет проще управлять сайтом — в привычной среде 1С, где уже ведется вся бухгалтерия или осваивать с бубном новую админку?

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

        По вашим ответам у меня складывается мнение, что у вас юридическое образование, умело вальсируете с ответами :)

        Буду рад прочесть следующие статьи в этом направлении, а то их мало, мог бы поддержать посыл со своей стороны, имхо кроме нас с вами никто в этом направлении с такой скоростью не двигается.
        Со своей стороны могу добавить статью о синхронизации интернет-магазина с R-Keeper.
        • 0
          > Вы же сами выше писали что ваши клиенты, которые ничего не понимают в информационных технологиях. Где будет проще управлять сайтом — в привычной среде 1С, где уже ведется вся бухгалтерия или осваивать с бубном новую админку?

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

          Коллега, я не начинаю холивар, вы спросили, я привел свое мнение. Узкие места в скорости, формате станут еще уже, если вы будете вместе с товарами передавать и страницы, и новости и т.п. По сути вы предлагаете внутри 1С сделать полноценную CMS систему, вот насчет этого я и высказал скепсис.

          > По вашим ответам у меня складывается мнение, что у вас юридическое образование, умело вальсируете с ответами :)

          Спасибо, но образование у меня техническое. и диплом и диссертация были в области ИТ :)

          > Со своей стороны могу добавить статью о синхронизации интернет-магазина с R-Keeper.
          Да, было бы очень интересно!!!

          Со своей стороны мы расскажем наш опыт. Я не задавался целью кого то убедить, что такой обмен самый самый лучший для всех, как тут некоторые думают, я просто рассказал о решении, которое сейчас пользуется спросом, об опыте его создания.
          • 0
            > По сути вы предлагаете внутри 1С сделать полноценную CMS систему, вот насчет этого я и высказал скепсис.

            Нет же, 1С используется как оболочка, в ней берутся через xml мост данные с сайта, редактируются и обратно заливаются на сайт. Так можно и из Excel управлять сайтом, но в 1с хорошо строить интерфейсы. Конфигурация 1с заводская, ничего в ней не изменяется, с тех. поддержки не снимается. Можно взять 1С 8* бесплатную версию для обучения и запустить на ней удаленное управление сайтом.

            > диплом и диссертация были в области ИТ
            Похвально!

            • 0
              > Нет же, 1С используется как оболочка, в ней берутся через xml мост данные с сайта, редактируются и обратно заливаются на сайт

              Понял, как вариант — вполне возможно.
              Кстати ваша ссылка уже не работает.
              • 0
                Редактор вставил лишний http, рабочая ссылка.

                Дополню еще ссылочками выгрузки интерактивного прайс-листа (1) из 1С и видео о синхронизации с 1С за 7 минут (2), может пригодится и будет кому интересно.
        • 0
          Как и обещал, написал статью по опыту синхронизации интернет-магазина с R-Keeper StoreHouse.
  • +1
    Расскажите про обмен заказами
    • 0
      начал писать, опубликую скоро.
  • –4
    Я не буду спорить, что из коробки все это действительно взлетает, но есть большое НО: если требуется что-то немножко изменить в функциональности — начинаются пляски с бубном.

    Я — разработчик с большим стажем, мне довелось поработать с большинством современных фреймворков и ORM, с Битриксом пришлось познакомится относительно недавно в рамках выполнения одной интеграционной задачи.

    Что бы хотелось отметить особо:

    — Жуткое месиво вместо структуры. Парадигма MVC не соблюдается абсолютно: в одном и том же файле на несколько тысяч строк идет объявление функций, классов, SQL-запросы, вывод HTML, XML, обработка бизнес-логики, а также всякие аспектные штуки вроде логирования и проверки прав. Естественно, что модификация и поддержка такого кода — реальный ад.

    — Общая организация кода. Да, все мы знаем, что такое legacy, и как с ним порой трудно жить, но регулярные рефакторинги способны изменить ситуацию к лучшему.

    — ООП. Больше всего меня поразило масштабное использование классов, как хранилищ статических методов. Это для того, чтобы гордо заявлять, что Битрикс — ООПшный? Соответственно, про использование паттернов (даже не GoF, а простых GRASP) речь не идёт.

    Но на самом деле я благодарен Битриксу за то, что я четко стал понимать, что продажи программного продукта зависят на 98% от маркетинга и sales forces и на 2% — от собственно кода. Ради этого с ним стоило поработать :)
    • 0
      Спасибо за критику!
      На самом деле это большая тема для обсуждения, но текущий топик для нее все же не очень подходит.
      У нас, как и в любом продукте есть что улучшать и над чем работать, мы это не скрываем.

      Могу заверить, что в ближайшее время мы приятно удивим нововведениями клиентов, партнеров и разработчиков.
      • +2
        Согласен, а есть на что ровняться, есть люди которым кроме своего кода ничего в прнципе не нравится, это обычно заканчивается лет так после 27. Покажите пример для вашего подражания, везде можно найти недовольных. Каждый студент считает себя гуру, а вы разработайте продукт 10 лет назад, когда и учебников кроме оригинала не было, поддержите проект еще 10 лет, участвуйте в выставках, хотя бы для начала созидайте свой бизнес, а потом учите других. Со стороны все всегда легче и просто.
        Ps я не сотрудник битрикса :)
        Psps как же не просто писать кометы на япаде :)
        • –2
          прохожие липнут к блестящему?=) ) )
    • +3
      Я тоже опытный разработчик, вскормленный на паттернах проектирования, фаулере и j2ee :-)

      Могу вам сказать, что ООП нужно — не всегда. Может юникс перепишем на C++, используя полиморфизм, наследование и инкапсуляцию? ;-)

      Эндрю Таненбаум до сих пор спорит с Линусом Торвальдсом что ядро линукс — монолит, god-объект, и нужно его дробить на части и компоненты :-) И где Таненбаум со своим Minix сейчас?

      Система должна быть сбалансированной. В Битрикс есть MVC, да, без объектно-интерфейсных танцев с бубном, но переопределяя файлы, выполняемые контроллером компонентов, реализовавшем в своем ядре паттерн TemplateMethod — задача решается просто и лаконично.

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

      На мой взгляд как разработчика: Битрикс — сбалансированная система, достаточно низкоуровневая, производительная, и поэтому без объектных излишеств — позволяющая просто решить бизнес-задачи. А любую задачу, как известно можно решить просто, а можно нагородить 10 уровней наследования :-)

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.

Самое читаемое Разное