Обновленный модуль 1С можно скачать на странице
В обмен добавлена работа с документами частичных оплат и частичных отгрузок.
Обмен данными по заказу будет происходит не в рамках одного документа заказа как раньше, а в рамках 3х документов.
- Документ Заказа
- Документ Оплаты
- Документ Отгрузки
Изменения в экспорте. БУС -> 1С
Основное изменение - для каждого заказа создаётся структура документов вида
- Документ.Заказ1
- Документ.Оплата1 (Основание Заказ1)
- Документ. ОплатаN (Основание Заказ1)
- Документ.Отгрузка1 (Основание Заказ1)
- Документ. ОтгрузкаN (Основание Заказ1)
Таким образом данные по заказу выгружаются в одном документе заказа, данные по оплатам и отгрузкам могут выгружаться в неограниченном количестве документов связанных с заказом через поле <Основание>...</Основание>
При этом заказ выгружается всегда, документы оплаты и отгрузки выгружаются если они есть в любых статусах.
Изменения в импорте. 1С->БУС
Перед запуском необходимо выполнить предварительные настройки
[spoiler]
1 Магазин должен быть сконвертирован
2 Необходимо выключить складской учет и резервирование (см рисунок 1)
настройка модуля Торгового каталога (рисунок 1)
3 На странице настройки модуля Интернет магазина необходимо отключить автоматизацию процесса - Разрешать отгрузку при разрешении доставки (см рисунок 2)
настройка модуля Интернет магазина (рисунок 2)
4 Необходимо выполнить настройку поля 'Платежная система для автоматической оплаты заказа по статусу оплаты заказа от 1С' на странице настройки интеграции (см рисунок 3)
настройка интеграции 1С (рисунок 3)
Изменения в логике импорта для каждого из типов документа
Документ Заказа
Обновлении, создание заказа происходит внешне также как и для прежней версии обмена, за исключением создания оплаты и доставки при получении соответствующих статусов в документе заказа.
В случае если в заказе приходит признак полной оплаты заказа, автоматически создается оплата с комментарием “Автоматическая оплата заказа по статусу от 1С” (см рисунок 4)
автоматическая оплата по статусу полной оплаты заказа (рисунок 4)
Если после создания/обновления заказа в процессе импорта приходит документ частичной оплаты, то происходит уменьшение автоматической оплаты на сумму нового документа (см рисунок 5)
уменьшенная сумма автоматической оплаты на сумму реальной отплаты (рисунок 5)
Если по итогу обмена оплаченная сумма заказа = сумме заказа, автоматическая оплата удаляется, а заказ становиться оплачен на основании оплаты импортируемой от 1С.
Удаление автоматической оплаты возможно только при обмене, если вы самостоятельно создадите документ оплаты по заказу, автоматическую оплату необходимо удалять вручную.
Автоматическая оплата заказа отличается от реальной, только тем что она может автоматически уменьшаться по отношению к реальной и заказ оплаченный автоматической оплатой не блокируется обменом при попытке обновить его.
Настройка платежной системы по умолчанию для автоматических оплат по статусу полной оплаты заказа задается на странице настройки интеграции - Платежная система для автоматической оплаты заказа по статусу оплаты заказа от 1С
Если заказ оплачен реальным документом оплаты, то такой оплаченный заказ при попытки обновления выдаст ошибку - Документ не может быть изменен, т.к. оплачен.
Если в обмене от 1С в документе заказа приходит статус полной отгрузки, но при этом заказ не отгружен реальными документами отгрузок, заказ маркируется ошибкой (см рисунок 6)
-При обмене с 1С из документа заказа получен статус полной отгрузки заказа. При этом от 1С не были получены все документы отгрузок в статусе Отгружен. Код ошибки -[1C_Exchange: Order.deducted]
маркировка заказа при получении статуса полной отгрузки заказа (рисунок 6)
Маркировка может быть снята вручную либо автоматически при получении всех документов отгрузок по заказу.
Документ Оплаты
Оплата представляется собой в xml файле обмена отдельный документ с тегом <Основание>...</Основание> указывающим на заказ к которому данная оплата относится.
При обмене оплату можно создать/обновить/отменить отдельным документом.
При импорте данного документа происходит изменение суммы на значение указанное в документе.
При этом если в коллекции оплат есть автоматическая оплата по статусу полной оплаты заказа, то изменения в итоговой сумме выполненных оплат по заказу, отражаются на автоматической оплате в большую или меньшую сторону.
Возможны 3 типа оплат
- Выплата наличных денег
- Выплата безналичных денег
- Эквайринговая операция
Если происходит создание оплаты по заказу при импорте, то для каждого из типов оплат задается соответствие с конкретными ПС на странице настройки интеграции
-Наличный расчет. Платежная система для новых заказов
-Без наличный расчет. Платежная система для новых заказов
-Эквайринговая операция. Платежная система для новых заказов
Таким образом при получении документа оплаты определенного типа ему по умолчанию будет назначаться платежная система.
Если в процессе импорта документов необходимо наложить запретить на создание новых документов оплаты в БУС необходимо в настройках интеграции 1С отключить соответствующую опцию - Создавать новые документы оплаты из 1с (по умолчанию включено)
Документ отгрузки
Отгрузка представляет собой в xml файле обмена отдельный документ с тегом <Основание>...</Основание> указывающим на заказ, к которому данная отгрузка относится.
При обмене отгрузку можно создать/обновить/отменить/ создать новый заказ и связанную с ним отгрузку/изменить табличную часть существующего заказа до табличной части отгрузки в большую сторону отдельным документом.
При создании любой новой офлайн отгрузки устанавливается выбранная в настройках служба доставки - Служба доставки для новых заказов
При импорте отгрузок возможны ситуации, которые влияют на табличные части, как самого заказа, так и табличные части других отгрузок.
Рассмотрим подробно
Заказ находиться в статусе не отгружен и у него нет ни одной отгрузки.
В этой ситуации при обмене приходит отгрузка с количеством товара равным количеству в табличной части заказа (см рисунок 7)
При этом может быть изменена табличная часть заказа, если количество товара в отгрузке больше чем в заказе и указана соответствующая настройка интеграции - Увеличивать количество продукта в корзине, если количество в доставке из 1с превышает количество в корзине.
Отгрузка может прийти в статусе, как Отгружена или не Отгружена
Если у данной отгрузки статус Отгружен, то после её импорта заказ считается отгруженным (при условии, что табличные части заказа и отгрузки одинаковые).И для данного заказа считаем, что не распределенных по отгрузкам – свободных товаров в заказе нет. Дальнейшие создание отгрузок по заказу без настройки - Увеличивать количество продукта в корзине, если количество в доставке из 1с превышает количество в корзине не возможно.
пример не отгруженной отгрузки с товарами повторяющими табличную часть заказа (рисунок 7)
1 Изменение табличной части не отгруженных отгрузок новой отгрузкой
Если у нас есть отгрузка в статусе не Отгружена, и при этом в ней находятся табличная часть заказа (вся или её часть), при поступлении новой отгрузки (см рисунок 8 ) все не распределенные по отгруженным отгрузкам товары (в нашем случае это все товары заказа) считаются не распределенными и переместятся в новую отгрузку в соответствии с табличной частью новой отгрузки.
пример новой не отгруженной отгрузки (рисунок 8 )
пример обновленной не отгруженной отгрузки после добавления новой (рисунок 9)
В итоге мы получим одну измененную по количеству или составу (см рисунок 9) не отгруженную отгрузку, и одну отгруженную. При этом сохраняется общие количество товара в табличной части заказа.
2 Изменение табличной части заказа отгрузкой
Если к нам приходи отгрузка по заказу и не распределенного товара из табличной части заказа нет, но при этом указана настройка - Увеличивать количество продукта в корзине, если количество в доставке из 1с превышает количество в корзине увеличивается табличная часть заказа до количества товара в табличной части отгрузки , таким образом появляется не распределенный товар по отгруженным отгрузкам и это количество товара попадает в новую отгрузку.
пример отгрузки изменяющей табличную часть заказа рисунок 10
пример табличной части заказа до импорта отгрузки рисунок 11
пример табличной части заказа после импорта отгрузки р исунок 12
3 Создание заказа на основании отгрузки
Возможна ситуация, когда требуется на основании только одной отгрузки создать и заказ и саму отгруженную отгрузку.
При указании соответствующей настройки в настройке интеграции 1С - Создавать новый заказ при получении новой доставки из 1с, если заказ основание на сайте не найден (по умолчанию включено) получаем эту возможность.
При импорте такой отгрузки с пустым основанием, создается заказ с табличной частью отгрузки и создается сама отгрузка с той же табличной частью.
Действия с позициями отгрузок
Для более полного понимания механизма распределения товаров в отгрузке при обмене ниже приведена таблица операций с табличной частью отгрузки, при обновлении/создании отгрузки в БУС
действия с позициями отгрузок | создание новой | запись в системную | вычитание из системной | удаление | вычитание с других позиций отгрузок | ||
создание отгрузки | Корзина | увеличение количества в позиции заказа | - | + | - | - | - |
добавление новой позиции заказа | - | + | - | - | - | ||
отгрузка | добавление новой позиции отгрузки | + | - | + | - | +(если нет на системной) | |
обновление отгрузки | Корзина | увеличение количества в позиции заказа | - | + | - | - | - |
добавление новой позиции заказа | - | + | - | - | - | ||
отгрузка | добавление новой позиции отгрузки | + | - | + | - | +(если нет на системной) | |
удаление позиции отгрузки | - | + | - | + | - | ||
увеличение количества в позиции отгрузки | - | - | + | - | +(если нет на системной) | ||
уменьшение количества в позиции отгрузки | - | + | - | - | - | ||
обновление заказа | Корзина | добавление новой позиции заказа | - | + | - | - | - |
удаление позиции заказа | - | - | + | + | + |
Список настроек интеграции добавленных в обновлении
1 Наличный расчет. Платежная система для новых заказов:
2 Без наличный расчет. Платежная система для новых заказов:
3 Эквайринговая операция. Платежная система для новых заказов:
4 Платежная система для автоматической оплаты заказа по статусу оплаты заказа от 1С:
5 Служба доставки для новых заказов:
6 Увеличивать количество продукта в корзине, если количество в доставке из 1с превышает количество в корзине (по умолчанию включено)
7 Создавать новые документы оплаты из 1с (по умолчанию включено)
8 Создавать новый документы доставки из 1с (по умолчанию включено)
9 Создавать новый заказ при получении новой доставки из 1с, если заказ основание на сайте не найден (по умолчанию включено)
Можно привести названия файлов xml файлов?
А вебинар будет по новому обмену?
Считаем, что если на сайт ведётся выгрузка из 1С, то нельзя вести корректно количественный учет, если работают 2 системы учета остатков одновременно
Orders___2791dce6-2c28-4e89-acd0-c34d1be2a6da.xml - документ заказов
Payment___b2593810-9e49-43f4-b3de-a20f0b950057.xml - документ оплата по заказам
Shipping___a03fd6dd-e553-4ee9-84e6-028c448a9ef9.xml - документ отгрузок
Считаем, что если на сайт ведётся выгрузка из 1С, то нельзя вести корректно количественный учет, если работают 2 системы учета остатков одновременно
Т.к. последние два года, работали именно по схеме, когда товар резервировался в БУС при оформлении заказа.
Количественный учет остатков самый актуальный и правильный конечно же на стороне 1С УТ.
Но для того чтобы исключить когда последний экземпляр товара могут заказать несколько пользователей и нужно было резервирование в БУС.
А резерв по конкретному товару в БУС мы сбрасывали когда приходила выгрузка из 1С по этому товару либо через сутки.
Суток хватает чтобы менеджер обработал заказ в 1С и при необходимости поставил товар в резерв.
А т.к. периодический обмен настроен как не полная выгрузка, а только изменения. Товар в выгрузку попадал только при изменении количественного остатка в 1С, а это в 99% случаях происходит как раз когда его менеджер поставил в резерв в 1С.
Теперь опять надо будет кастомизировать модуль обмена на стороне БУС.
Скачать новый модуль можно по ссылке:
Спасибо за статью, пара вопросов:
1. С 15.6 модуля магазин такого функционала еще нет?
2.
Если после документа заказа от 1С буду приходить документы оплаты, то на сайте будут создаваться/обновляться оплаты при этом сумма автоматической оплаты будет изменяться.
Более подробно механизм описан в разделе статьи
Изменения в логике импорта для каждого из типов документа
Документ Заказа
документооборотом связанным с заказом управляет сайт?
т.е. все отмены, все оплаты, все отгрузки, вся их жизнь управляется сайтом?
ато щас заказ получил подчиненный документ и все......на этом его жизнь прекратилась в плане изменений
отключаешь галочку "получать оплаты с сайта" и приходится их руками создавать...
отключаешь галочку "получать отгрузки" и приходится их руками создавать...
а с включенными вообще провал получается
прилетел в 1с заказ и сразу же оплата не оплаченная и все, заказ не изменяется больше т.к. есть подчиненные документы.
Работать в 1с с заказами не удобно, на сайте удобно. Нанимать манагера который будет обрабатывать поток заказов на соответствие?
Вот чего хочется уже несколько лет.
1. Создается заказ на 100 руб. с доставкой, например ЕМС 50 руб.
2. В настройках интеграции с 1С "Служба доставки для новых заказов" установлен "Самовывоз" (стоимость доставки 0 руб.)
3. Создаем оплату в 1С и отгрузку и делаем обмен 1С с БУС
5. Создается новая отгрузка "Самовывоз" в БУС по флагу, пришедшему из 1С. Но старая доставка, созданная при создании заказа остается.
6. Если удалять старую доставку ЕМС, а в новой менять Самовывоз на ЕМС (что логично для покупателя, который должен видеть в личном кабинете, что у него доставка ЕМС, а не Самовывоз), то образуется переплата по заказу в 50 руб., т.к. при смене доставки ее стоимость остается от Самовывоза (0 руб.)
Если есть несколько служб доставки и оплаты, то жесткая привязка к одной службе в настройках интеграции, становится проблемой.
Что делать в такой ситуации?
Игорь
Во-первых, автоматическая оплата не удаляется, хотя приходит признак полной оплаты заказа из 1С при обмене.
ВО-вторых, создался дубль заказа (например, был заказ 30, по которому пришли документы), и создался дубль под номером 31, хотя в файлах обмена не было документов оплат или отгрузок, основание по которым не могли бы быть найдены.
В-третьих, отгрузка прошла по заказу 31 (по дублю), хотя в файле Shipping четко указано <Основание>30</Основание>
В-четвертых, номер оплаты из 1С "УТблабла" прикрепился к автоматической оплате, у которой флаг "Не оплачен". А не к оплате с флагом "оплачен", которая пришла из 1С, и у которой реально ИД "УТблабла".
Что-то мы делаем не так? Для автоматической оплаты указали платежную систему "Наличные". Указать что-то другое? Это важно?