1c обмен данными. Публикации. Обмен данными с интернет-магазином

Мы продолжаем серию статей по новому релизу 14,5 и на этот раз мы затронем наиболее интересные операции, которые могут быть использованы в повседневной практике обмена с 1С.

Мы рассмотрим следующие типовые операции:

  • Реалтаймовый режим обмена с 1С
  • Режим логирования операций проводимых в 1С и на сайте
  • Выгрузка справочников из 1С
  • Выгрузка свойств из 1С
Реалтаймовый режим обмена с 1С

Режим обмена в реальном времени реализован таким образом, что в 1С постоянно висит один сеанс, который ждет сообщения с сайта. На сайте создали или отредактировали заказ – в 1С посылается сигнал, чтобы 1С выполнила обмен заказами. Каждые 40 сек(по умолчанию). соединение с сайтом обрывается и происходит новое соединение.

  • Если база 1С в файловом варианте работы , тогда активный сеанс 1С ждет сообщение с сайта. Для прекращения режима реального времени необходимо закрыть сеанс или разблокировать его, нажав на комбинацию клавиш Ctrl + Break.
  • Если база 1С в клиент-серверном варианте , тогда фоновое задание ждет сообщение с сайта. Временной интервал, в котором работает режим реального времени – задается в расписании задания.
Краткая схема работы режима реального времени.

В авторизация на сайте к адресу сайта добавляется параметр "?type=listen". Т.е. адрес сайта получается: <АдресСайта> + "?type=listen". Параметр необходим, чтобы сайт знал, что это соединение для режима реального времени.

Сайт же может вернуть 2 кода состояния.

  • Если это код 200, значит надо выполнить обмен.
  • Если 302, то нужно сделать переадресацию и снова посмотреть код состояния. Адрес переадресации берется из заголовка «Location».
Если пришел код состояния 200, то должен выполниться обмен с сайтом. Признак того, какой узел обмена должен выполняться – указывается в настройках соединения (флажок «Используется в режиме реального времени»). Только в одной настройке может стоять этот признак.

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

Режим логирования операций проводимых в 1С и на сайте

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

На сайте он хранится в: /upload/1c_catalog/Reports

Хранение лога на сайте позволяет сделать первичный анализ проблем с обменом данных, не заходя в 1С или на ПК, где они хранятся. Лог файл ведется в разрезе дня и для каждой настройки обмена он свой. После каждого обмена лог файл дописывается. На сайте лог файлы хранятся несколько дней.

На видео, показана работа логирования. Для более наглядного представления, сначала в настройке обмена указали выгрузку информации по товарам, в пакетах которого было по 20 товаров. Можно было заметить, что в логе хранились все ключевые этапы обмена каждого пакета. Конечно, если выгружать данные товаров по 20 элементов – обмен замедлится, т.к. действий по передаче данных намного больше, поэтому при повторном обмене в настройках обмена указали, чтобы количество товаров в пакете было 100 и указали, чтобы лог выгружался на сайт.

В вашем браузере отключен JavaScript

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

Выгрузка справочников

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

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

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

В вашем браузере отключен JavaScript

Как можно увидеть на видео, было добавлено два пользовательских справочника «Виды номенклатуры» (« VidyNomenklatury» на сайте») и «Договоры контрагентов» (« DogovoryKontragentov»). Все элементы этих справочников были выгружены.

Причем настройки стояли таким образом, что часть ссылочных реквизитов представлялись как строка, а часть как идентификатор элемента. Например, в справочнике «Договоры контрагентов» настройки были заданы так, что владелец договора (контрагент) и тип цены, выгружается как идентификатор элемента (в выгружаемых контрагентах и типах цен именно этот идентификатор), а валюта и организация как строка.

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

Выгрузка свойств

В новом модуле обмена значительно доработаны свойства товаров и предложений:

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

На видео можно увидеть, что в настройках обмена 1С задали отбор по свойствам, чтобы выгружались только те свойства, которые необходимы. В настройках свойств указали, какие свойства должны выгружаться в highload блоки, а какие нет. Установили признак, на тех свойствах, которые влияют на цену. На сайте же видно: создались два highload блока(«PROIZVODITEL» - свойство «Производитель» и «VIDTOVARA» - свойство «Вид товара»). Значения свойств у товаров и предложений появились, причем выбирать значения можно из выпадающего списка.

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

P.S. если у вас есть предложения какие еще типовые операции можно рассмотреть в статьях, то пишите об этом в комментариях.

Главная Реализованные решения

Обмен данными с интернет-магазином

Ведение бизнеса через сеть Интернет – ключевое условие успеха современной торговой компании. Все большее число торговых компаний создают собственные интернет-магазины и w eb-витрины, размещая на w eb-сайте свои торговые предложения и организуя прием заказов от покупателей.

Как правило, торговля через Интернет не является единственным каналом продаж таких компаний. Для повышения эффективности работы компании все каналы продаж целесообразно интегрировать в единую корпоративную систему управления торговлей, которая может быть построена на платформе "1С:Предприятие".

Для создания и непосредственного управления и нтернет-магазином предназначены специализированные системы, например "1С-Битрикс: Управление сайтом" . Специализированная система обеспечивает взаимодействие между интернет-магазином и покупателями через Интернет. А система "1С:Предприятие" регулярно обменивается коммерческими данными с интернет-магазином через Интернет или общую локальную сеть и управляет исполнением полученных заказов.

Таким образом, при интеграции с интернет-магазином система "1С:Предприятие" играет роль бэк-офиса.

Для организации обмена данными между системой "1С:Предприятие" и интернет-магазином фирмами "1С" и "1С-Битрикс" разработан и опубликован , в котором используется основанный на XML стандарт обмена коммерческой информацией CommerceML 2 .

Реализация обмена в системе "1С:Предприятие"

Организация обмена данными на стороне систем управления web-сайтом

Информация о применении системы управления web-сайтом для организации интернет-магазина, интегрированного с системой "1С:Предприятие" опубликована на сайтах компаний.

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

Условия обмена данными

В «1С:Бухгалтерии 8» поддерживается обмен данными с интернет-магазинами, созданными на базе CMS-систем:

  • 1C-Bitrix;
  • 1C-UMI;
  • других CMS-систем, поддерживающих протокол обмена CommerceML версии 2.08 (см. по ссылке).

При обмене данными с интернет-магазинами, созданными на базе CMS-систем, отличных от 1C-Bitrix и 1C-UMI , нужно обеспечить, чтобы сайт интернет-магазина содержал скрипт, поддерживающий протокол обмена 1С с сайтом. Описание требований к скрипту дано по ссылке .

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

Чтобы настроить обмен данными «1С:Бухгалтерии 8» с интернет-магазином, необходимо:

Выполнение обмена данными

Для выполнения обмена данными с интернет-магазином необходимо:


В результате выполнения загрузки в «1С:Бухгалтерии 8» будут сформированы счета покупателям. Эти счета можно использовать для оформления реализации, поступления денежных средств или подготовки пакета документов на отгрузку.

1. Методические рекомендации об отражении в бухгалтерском учете продаж через интернет-магазин даны в «Справочнике хозяйственных операций. 1С:Бухгалтерия 8», см. по ссылке .

2. Обмен с интернет-магазином настраивается и функционирует одинаково как для локальной информационной базы «1С:Бухгалтерии 8», так и при работе c «1С:Бухгалтерией 8», размещенной в сервисе сайт или в другом сервисе, созданном по технологии 1cFresh.

Ограничения обмена

Обмен данными «1С:Бухгалтерия 8» с интернет-магазинами является:

  • односторонним - сведения переносятся только из интернет-магазина в «1С:Бухгалтерию 8»;
  • упрощенным - переносятся только данные о полученных через интернет-магазин заказах, а также использованные в заказах данные о номенклатуре, контрагентах и ценах. По этим сведениям в «1С:Бухгалтерии 8» создаются счета покупателям. Выполнение каких-либо других операций с интернет-магазином не предусмотрено.

Намного больше возможностей интеграции с интернет-магазином предоставляют решения «1С:Управление торговлей», «1С:Комплексная автоматизация», «1С:ERP 2» и «1С:Управление нашей фирмой». См. например, статьи.

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

Этапы обмена данными, при котором один из или все объекты – это продукты 1С:

  • Согласовывается состав обмена;
  • Определяется протокол;
  • Этап синхронизации;
  • Определение и настройка правил обмена;
  • Расписание.

Этап первый: состав обмена

Направление обмена может быть односторонним или двусторонним в зависимости от роли объектов обмена. Всего в обмене участвует две конфигурации – «источник» и «приемник». При одностороннем обмене данные поступают от одного объекта к другому и их роли не меняются. В случае двустороннего обмена роли объектов постоянно меняются и данные выходят от обоих объектов и поступают также к обоим объектам.

На этом же этапе определяется и формат обмена:

  • Распределенная ИБ
  • Универсальный ОД.
  • EnterpriseData.

Этап второй: протокол обмена

С помощью 1С:Предприятие 8 можно обмениваться данными разных типов и стандартов. Поэтому отталкиваться в определении протокола обмена следует только от возможностей системы, с которой будет происходить обмен.

Этап третий: синхронизация справочников

Главный принцип - наличие одной точки ввода.

Этап четвертый: установка правил

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

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

Этап пятый: расписание

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

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

  • Объекты обмена были раньше доработаны;
  • Конфигурация БД нетиповая;
  • Разная версия рабочих платформ;
  • Не актуальная\ не обновленная версия конфигурации;
  • Необходимо поменять правила обмена на нестандартные и т.д.

Конфигурация УПП ("Управление производственным предприятием") в типовой версии уже содержит готовые механизмы обмена данными. Но их также нужно настроить. Следует учесть, что обмен УПП возможет только в более новых версиях.

Через кнопку «Сервис» выбираем необходимое меню обмена данными. Если программа указывает, что возможность обмена недоступна, проставляем галочку на соответствующем поле в меню «Настройки».



После этого можно организовывать процесс обмена данными.

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

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

Для связи нескольких баз существует Обмен 1С. Как он работает?

Что такое Обмен 1С?

Есть сеть магазинов и центральный офис. В каждом магазине и в офисе есть склад. Товары перемещаются со склада на склад (в основном с центрального на склады магазинов), и в магазинах — продаются.

Используется база 1С Розница в офисе и эта же база в каждом магазине. Базы в магазинах – подчинены базе в офисе.

В офисе создают документы о перемещении товаров со склада на склад, назначаются цены. Документы заливаются в подчиненные базы и там «появляются» товары.

В магазинах создаются документы о совершенных продажа товаров. Документы заливаются в офисную базу и там «появляются» продажи.

Такая схема называется – распределенная информационная база (РИБ). Процедуры «заливки» документов – двусторонний обмен 1С. А настройка этой схемы – УРИБ или УРИБД (управление распределенными информационными базами данных).

Принципы Обмена справочниками в 1С

Справочники 1С (а набор всех справочников «в комплексе» называют НСИ – нормативно справочная информация) – в разных базах обычно должны быть едины. Это значит, что даже если баз несколько, то список товаров, складов, контрагентов – един в разных базах.

Обычная практика, когда в одной базе справочник разрешено редактировать, а в остальные он копируется («мигрирует»). Как мы раньше уже обсуждали – у каждого элемента 1С есть уникальный идентификатор – GUID . Справочники обычно копируются вместе со своим GUID, и таким образом идентичны во всей распределенной информационной системе.

В ином случае, когда соединяются несколько изначально существующих баз, или когда справочники можно создавать в разных базах одновременно, их GUID будут разными. Для этого существует механизм сопоставления. В специальный регистр сведений при обмене 1С записывается информация, что элемент из базы №1 с GUID ххх равен элементу в этой базе с GUID yyy. Первоначально имеющиеся элементы, которые уже не равны, нужно сопоставить автоматически (по другим реквизитам, например по наименованию или по ИНН и КПП) или вручную.

Принципы Обмена документами в 1С

Документы в 1С проводятся по регистрам и после этого считаются «проведенными». Это рождает понятные сложности при переносе.

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

Другой вариант – перенос документов и регистров вместе. Как мы понимаем, сразу же появляется вопрос – или мы переносим все документы вообще и тогда весь регистр вообще или вынуждены выбирать для переноса только движения по переносимым документам.

Допустим, нам нужно перенести элемент справочника Номенклатура. У этого справочника есть 10 полей, из которых 5 являются строками и числами, а 5 – ссылками на другие справочники.

Соответственно при переносе одного элемента Номенклатуры мы вынуждены искать и переносить также 5 элементов других справочников.

Таким образом при переносе одного элемента справочника или одного документа, по ссылке может быть перенесено 100 и больше других объектов 1С.

Фактически говорят, что почти все справочники конфигурации так или иначе ссылаются друг на друга.

Планы обмена 1С

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

Что делать? Провести снова полный обмен 1С? Долго и неэффективно! Гораздо лучше было бы вычислить что именно было добавлено или изменено пользователями в офис, чтобы в магазины попали только изменения.

Для этого существует – планы обмена 1С. Программист заранее создает план обмена 1С для проведения обменов 1С с какой-либо другой базой данных, например с нашими магазинами.

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

Создание УРИБ 1С

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

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

  • Обмен 1С с сайтом: обмен с сайтом 1С:Битрикс
  • Обмен 1С УПП-УТ или УТ-Розница: типовые обмены с конфигурациями-побратимами
  • Полный – обмен 1С с базой данных на базе такой же конфигурации.

РИБ – распределенная информационная база – можно сделать в том числе на базе плана обмена 1С «Полный». В конфигураторе в этом плане обмена 1С должна стоять галочка «Распределенная информационная база».

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

Зайдем в план обмена 1С (Операции/План обмена; также могут быть в другом меню, часто в меню Сервис/ХХХ).

В списке баз данных в плане обмена 1С есть одна с зеленым кружочком на картинке. Этот элемент обозначает ЭТУ БАЗУ. Остальные элементы обозначают ДРУГИЕ базы, с которыми идет обмен 1С.

Необходимо, чтобы было заполнено и наименование и код у всех элементов.

Чтобы создать подчиненную базу «магазина»:

  • Установите кусор в списке на элемент плана обмена 1С, который мы создали как «базу магазина»
  • Выберите пункт меню «Действия/Создать начальный образ».

В результате будет создана одна база, с выгруженными в нее начальными данными. Это нужно повторить для каждого элемента плана обмена 1С, кроме ТЕКУЩЕЙ БАЗЫ.

Теория проведения обменов 1С

Теория обмена 1С достаточно проста:

  • Одна из баз (чаще база центра) инициирует обмен 1С по расписанию или «по событию» (вход в базу определенного пользователя и т.п.)
  • Обмен 1С заключается в выгрузке из базы файла
  • Файл должен быть перемещен в то место, откуда его сможет забрать подчиненная база (чаще шара или ftp, реже электронная почта)
  • Подчиненная база загружает полученный файл
  • В качестве подтверждения, что информация получена, подчиненная база выгружает «ответный» файл, который таким же образом загружается обратно в центральную базу
  • Сеанс обмена 1С завершен.

Существуют другие методы обмена 1С, не через файлы, а например, через прямое COM-соединение между двумя базами. Его плюсы:

  • Не требуется «место для хранения и передачи файлов»
  • Не требуется повторной загрузки подтверждения
  • Все происходит быстрее за счет первых двух пунктов.

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

Настройка РИБ 1С

В константах типовых конфигураций (Операции/Константы; или Сервис/Настройки программы) — обычно есть общая настройка обменов 1С. Это – префикс в кодах элементов и номерах документов, чтобы легко определять в какой базе он создан. А также внутренний метод сохранения информации о месте создания справочников и документов.

Теперь необходимо настроить как будет происходить сам процесс периодического обмена 1С информацией между созданными базами.
Все настройки РИБ в 1С находятся в типовых конфигурациях обычно в меню Сервис/Распределенные информационные базы/Настроить узлы РИБ.

Для каждого ранее созданного элемента «удаленной базы магазина» необходимо добавить элемент настройки.

В настройке указывается способ обмена 1С: файл (шара), файл (FTP), файл (e-mail).

Создание и настройка распределенной информационная базы 1С в тонком клиенте

Посмотрим аналогичную настройку в типовой конфигурации на базе тонкого клиента – Управление торговлей редакция 11.
Настройки (и создание с нуля) находятся на закладке интерфейса Администрирование. Пункт «Обмен данными».

Выберем «Создать обмен в распределенной информационной базе».

С самого начала 1С нам предложит указать каким образом мы собираемся обмениться с подчиненной базой информацией. Вот вариант настройки «через файл на шаре».

Вот вариант настройки через файл на FTP.

Название нашей настройки обмена 1С.

И сразу же предложение создать «начальный образ» — то есть саму подчиненную базы данных с выгрузкой в нее первичной информации.

В отличии от конфигурации на толстом клиенте обе настройки обмена 1С находятся в одном месте.