Начнем мы с настроек на сайте.
Настройка интеграции с 1С:Предприятие выполняется на странице Магазин > Настройки > Интеграция с 1С. На закладке Заказы настраиваются параметры обмена заказами сайта и 1С.
С помощью параметра «Сайт, заказы которого выгружать в 1C:Предприятие» вы можете указать, откуда загружать заказы в 1С: с определенного сайта либо со всех. Поскольку «1С-Битрикс: Управление сайтом» является многосайтовой системой, то вы можете создать несколько магазинов и обрабатывать все заказы в одной системе 1С. В тоже время возможно заказы различных сайтов выгружать в разные учетные системы. Данные настройки нужно учесть тем, у кого несколько сайтов на одном Битриксе, а выгрузка идет в одну 1С. В этом случае поставить нужно параметр «все сайты».
Используя параметры «Выгружать только оплаченные заказы», «Выгружать только заказы с разрешенной доставкой» и «Выгружать заказы начиная со статуса», можно задать условия по заказам для выгрузки, т.е. выгружать заказы, удовлетворяющие заданным условиям.
Опция «Менять статусы заказов по информации из 1С» позволяет настроить автоматическую смену статусов заказов в соответствии с получаемой информацией из 1С при выполнении обмена данными. Но в том случае, если в 1C в узле обмена настроены соответствия статусов. Также соответствие статусов можно настраивать только для Управление Торговли 11.1 и 11.2.
Кроме того, в процессе выполнения обмена заказами можно загрузить на сайт новые заказы и контрагенты из 1С. Для этого следует отметить соответствующую опцию «Создавать новые заказы и контрагенты из 1С». Эта настройка нужна, если вы планируете выгружать контрагентов и заказы, которые были созданы непосредственно в самой 1с. Рассмотрим другие поля, которые нужно заполнить, если вы отметите этот чекбокс.
«Наличный расчет. Платежная система для новых заказов»
Указывается платежная система для новых документов оплаты заказа, которые приходят из 1С и их тип "наличный". Тип документа "наличный" или "безналичный расчет" сообщает 1С.
«Безналичный расчет. Платежная система для новых заказов»
Указывается платежная система для новых документов оплаты заказа, которые приходят из 1С и их тип "безналичный расчет". Тип документа "наличный" или "безналичный расчет" сообщает 1С.
«Эквайринговая операция. Платежная система для новых оплат»
Указывается платежная система для новых оплат, проводимых путем эквайринговой операции.
«Платежная система для автоматической оплаты заказа по статусу оплаты заказа от 1С»
Указывается платежная система для автоматической оплаты заказа, для которого пришел статус оплаты из 1С.
«Служба доставки для новых заказов»
Указывается служба доставки, которая подставляется в документы новых пришедших из 1С заказов.
«Увеличивать количество продукта в корзине, если количество в доставке из 1с превышает количество в корзине»
При отмеченной опции количество продукта будет увеличено в соответствии с количеством, указанном в документе доставки из 1С.
«Создавать новые документы оплаты из 1C»
При отмеченной опции будут создаваться новые документы оплаты для новых заказов, пришедших из 1С.
«Создавать новый заказ при получении новой доставки из 1C, если заказ основание на сайте не найден»
При отмеченной опции на сайте будет создаваться новый заказ, если из 1С будет получен документ доставки, для которого нет соответствующего документа заказа на сайте.
С помощью соответствующих параметров настраиваются сущности, связанные с пришедшими из 1С заказами: платежные системы для наличного и безналичного расчета, служба доставки. Также определяется поведение не только относительно создания новых документов оплат и доставок для новых заказов, но и относительно создания нового документа заказа при получении из 1С нового документа отгрузки, если на сайте не найден связанный с ним документ самого заказа.
В поле «Группы, пользователям которых разрешена выгрузка» должны быть выбраны группы пользователей, которые будут обладать правом на выгрузку заказов в 1С, т.е пользователь с административными правами.Обмен заказами с 1С выполняется пошагово соответствии с заданным интервалом одного шага и размером единовременно загружаемой части файла.
Переходим к вкладке «Профили обмена», которая служит для настройки полей экспорта в "1С". Настройки производятся отдельно для каждого типа плательщика. Также если у вас несколько сайтов на Битриксе, то настраивать нужно и под каждый сайт.
В чистом БУС все параметры стоят в состоянии «по умолчанию», чтобы переставить значение свойства, нужно снять чекбокс.
Ошибка, которая бывает при первом обмене, это когда в наименовании «контрагента» в 1C не прописывается ФИО, чтобы ее избежать в полном наименовании указываете параметры, которые будут у всех контрагентов.
Проверить как заполняются теги для выгрузки, можно, сделав выгрузку в файл. Для этого в списке заказов выбираете нужный вам заказ и выбираете действие «экспортировать в CML 2»
Полученный файл открываете в Блокноте или в браузере.
И проверяете в каких тегах записаны какие значения, тем самым перед обменом с 1С, вы можете внести нужные коррективы.
Теперь, когда в БУС стоят нужные настройки, переходим 1С. Рекомендуем создавать для обмена заказами свой отдельный узел, во-первых, на нем можно установить нужное вам время периодического обмена или выгрузки в режиме реального времени; во-вторых, работать с отдельным узлом гораздо удобнее.
Создать новый узел можно копированием уже существующего, но перед сохранением измените название узла и код.
Вкладка «настройка параметров обмена» остается неизменной, в вкладке «режим обмена данных» ставим чекбокс в поле «обмен документами»
И переходим в настройки:
Если стоит флажок «Выгружать офлайн документы», то будут выгружены все заказы, в том числе и те, которые не были созданы на сайте.
Поле «Точка актуальности выгрузки» - дата, меньше которой документы из 1С выгружаться на сайт не будут.
«Количество заказов в пакете» - поле, в котором указывается, сколько документов будет в одном пакете.
Если стоит флажок «Выгружать отгрузки», то будут выгружены отгрузки. Рекомендуем ставить данную галку, если вы хотите, чтобы на сайт уходила информация о отгрузке из 1с, следовательно и проставление финального статуса и тега «отгружен».
Если стоит флажок «Выгружать оплаты», то будут выгружены оплаты.
Если стоит флажок «Не редактировать документы», то повторной выгрузке документов с сайта, документы не будут обновлены. Данная настройка актуальна для тех, кто после загрузки заказа в 1с ведет всю работу там, редактирует заказ, контрагента и тд. В этом случае даже если в БУС изменится состав заказа, то при обмене в 1C заказ останется неизменым.
Если стоит флажок «Загрузка оплат», то в 1С на основе оплаты на сайте будет создан или приходный кассовый ордер или оплата по платежной карте(в зависимости от типа оплаты).
Если стоит флажок «Проводить, если отгружен на сайте», то если отгрузка отгружена на сайте – в 1С она будет проведена.
Если стоит флажок «Загрузка отгрузок», то в 1С на основе отгрузки на сайте будет создана отгрузка).
Если стоит флажок «Проводить, если оплачен на сайте», то если заказ оплатили на сайте – в 1С документ оплаты будет проведен.
В табличной части «Отбор» задаются отборы выгружаемых заказов из 1С.
Можно установить только с какой организации, например, загружать заказы, но если данные настройки не актуальны, то не ставьте в них «галочки», т.к задав отбор и не настроив значение, вы получите ошибку, при которой заказы вообще не будут загружаться в 1C.
Вкладка «Дополнительные настройки»
«В группе элементов «Загрузка товаров в 1C» указывается в какую папку номенклатуры будут попадать товары, которые были созданы в БУС и их нет в 1C.
В группе элементов «Предопределенные значения для физических лиц» задаются данные о физическом лице, который подставляется, если заказ на сайте сделан физ.лицом.
В группе элементов «Настройки отмена заказов» задаются соответствия причины отмены заказа.
В группе элементов «Настройка соответствий» задаются соответствия статусов сайта и 1С. Для удобства статусы сайта можно загрузить с сайта. В зависимости от пришедшего статуса с сайта – в документе будет подставлен по соответствию. Соответствия задаются для статусов заказов, отгрузок, а также соответствие касс и способа оплаты.
Остановимся поподробнее на «соответствии платежных систем и касс»
Загрузив с сайта платежные системы вы указываете для них терминал или кассу, следовательно, для наличной и безналичной оплаты. Но здесь важно также указать в БУС у платежной системы тип оплаты, чтобы при обмене создавался правильный документ.
Например:
Рассмотрим настройки «Загружаемых документов»
При нажатии в узле обмена на кнопку «Настроить загружаемые документы» открывается окно, в котором настраивается заполнение реквизитов загружаемых документов. При создании узла обмена соответствия загружаемых полей заполняются по умолчанию.
Левая верхняя таблица
В левой верхней таблице отображены все загружаемые документы. В таблице можно указать:
1. Какая дата документа подставляется: дата на момент загрузки документа в 1С или же с дата создания документа на сайте.
2. Откуда берется номер документа: подставляется автоматически из 1С или приходит с сайта.
3. Режим записи документа: записывать/проводить оперативно/проводить не оперативно.
4. Действия с отмененными документами: помечать на удаление/отменять проведение/ничего не делать. Если на документ есть ссылки, то документ не будет отменен.
Правая верхняя таблица
В Правой верхней таблице отображаются все реквизиты указанного документа. Для того чтобы реквизиты документа отобразились в таблице – необходимо нажать на кнопку «Настроить соответствия реквизитов», которая находится в верхней левой таблице.
Тип данных заполнения реквизита может быть следующий:
1. Из поля XML. Если выбран этот тип, тогда значение будет найдено по алгоритму, указанному в колонке «Значение». Как правило, алгоритмы реализованы на основании данных XML. При указании этого типа в колонке «Значение» появляется предопределенный список значений алгоритмов алгоритмов.
2. Фиксированное значение. Если выбран этот тип, тогда в реквизит документа будет подставляться указанное фиксированное значение. При указании этого типа данных, тип значения фиксированного значения определяется автоматически.
3. Из дополнительных свойств документа (по наименованию). При указании этого типа значение реквизита будет искаться по следующему алгоритму:
Смотрится – есть ли свойство документа(задается в профилях обмена) с указанным наименованием, которое указывается в колонке «Значение».
Если такое свойство есть и оно заполнено, то определяется тип реквизита документа. Если их несколько(составное) – массив.
Перебираются все элементы объектов 1С указанного типа объекта(или нескольких). Первый найденный элемент, с наименованием, указанным в свойстве заказа, будет подставлен в реквизит.
4. Из дополнительных свойств (по ид). Примерно тоже самое, что и выше, но элемент ищется не по наименованию, а по уникальному идентификатору. Имеет смысл использовать в связке с hl инфоблоками, которые будут хранить значения выгруженных справочников.
Левая нижняя таблица
В нижней левой части документа отображены все заполняемые табличные части указанного документа (добавление новых табличных частей пока отключено). В колонке «Поле XML» указывается наименование подчиненного элемента, из которого берутся данные. Если значение не заполнено – будет создана всего одна строка.
Правая нижняя таблица
В нижней правой части отображаются все реквизиты указанной табличной части документа. Для того чтобы реквизиты документа отобразились в таблице – необходимо нажать на кнопку «Настроить соответствия реквизитов», которая находится в нижней левой таблице.
Заполняются реквизиты также, как и реквизиты документа, с единственным отличием, что у табличной части больше предопределенных алгоритмов.
Соответствия настраиваются для всех видов документа, т.е и для заказа и документов оплаты и доставки.
Примечание. Случай на практике: у документов оплаты поставили режим записи «оперативное проведение», после завершения всех настроек и обмена заказами, документ оплаты все равно не становился проведенным, хотя все поля были заполнены. Проблема решилась когда переставили в настройках с «оперативного проведения», на « неоперативное проведение». Т.к заказы загружались не в режиме реального времени, а постфактум, Управление Торговлей не могло провести их оперативно.