Что такое findslide.org?

FindSlide.org - это сайт презентаций, докладов, шаблонов в формате PowerPoint.


Для правообладателей

Обратная связь

Email: Нажмите что бы посмотреть 

Яндекс.Метрика

Презентация на тему Жизненный цикл заказа. Автоматизация обработки заказа (1С:Битрикс)

Содержание

заказ статусчастичные оплаты оплачено оплата разрешена частичные отгрузки доставка разрешена отгружено статусФлаги и статусыФлаги являются управляющими (меняют состояние объекта)Статусы являются информационными (только
Жизненный цикл заказаАвтоматизация обработки заказа заказ     статусчастичные оплаты   оплачено Настройки каталогаВключить количественный учет – уменьшать количество товара в каталоге при покупке.Разрешить Настройки магазина: резервированиеТовар может резервироваться присоздании заказа (сразу при размещении нового заказа, Настройки магазина: автоматизацияАвтоматически менять статус заказа - изменение информационного статуса заказа при заказ600 руб.оплачено – нетстатус – приняткорзина товар А, 3 шт., 100 руб./шт. заказ600 руб.оплачено – нетстатус – приняткорзина товар А, 3 шт., 100 руб./шт. заказ600 руб.оплачено – нетстатус – приняткорзина товар А, 3 шт., 100 руб./шт. заказ600 руб.оплачено – дастатус – формируется к отправкекорзина товар А, 3 шт., заказ600 руб.оплачено – дастатус – формируется к отправкекорзина товар А, 3 шт., заказ600 руб.оплачено – дастатус – завершенкорзина товар А, 3 шт., 100 руб./шт. События жизненного цикла ЗаказСостав отгрузкиОтгрузкаСвойстваи т.п.Товар заказаЗаказКоллекция товаров (корзина)Коллекция оплатКоллекция отгрузокОплатаКомпанияБДORMПоднимаем объекты (заказ) из базыМеняем, Создание / изменение заказаСоздание заказасоздание объекта заказаустановка параметров объектасвязывание с корзиной товаровсоздание Виды событийСобытия обсчетаМеняем объекты в памятиСистема автоматически поддерживает консистентное состояниеновый заказ – Обсчет против СохраненияСобытия при сохранении применяются дляприменения изменений к внешним по отношению Вмешиваемся в обсчет на событияхСобытия на изменение значения поляOnBeforeSetFieldпараметрыENTITY – объект, чье Вмешиваемся в обсчет на событияхСобытия на завершение пересчета(при завершении пересчета обсчитываются налоги, Вмешиваемся в сохранение на событияхСобытия на сохранение заказаOnSaleOrderBeforeSavedпараметрыENTITY – объект заказаVALUES – Вмешиваемся в сохранение на событияхСобытие непосредственно после сохранения сущностиOnEntitySavedпараметрыENTITY – сохраняемый объектVALUES Вмешиваемся в сохранение на событияхСпецифические событияOnSaleOrderCanceled - сохраняемый заказ был отмененпараметры: ENTITY Вмешиваемся в сохранение корзиныЕсли корзина не привязана к заказуOnSaleBasketBeforeSavedпараметрыENTITY – объект корзиныесли Платежные системыСлужбы доставки Пользовательские платежные системыОбработчики – классы + вспомогательные файлыНаследование, интерфейсыPaySystem\BaseServiceHandlerPaySystem\ServiceHandlerШаблоны Пользовательские службы доставкиОбработчики – классы + вспомогательные файлыНаследованиеDelivery\Services\BaseСобытие расчета стоимости Пользовательские ограниченияonSalePaySystemRestrictionsClassNamesBuildList onSaleDeliveryRestrictionsClassNamesBuildList Пользовательские дополнительные опцииonSaleDeliveryExtraServicesClassNamesBuildList
Слайды презентации

Слайд 2 заказ
статус




частичные оплаты

заказ   статусчастичные оплаты  оплачено  оплата разрешена частичные

оплачено
оплата разрешена
частичные отгрузки

доставка разрешена
отгружено
статус


Флаги и статусы

Флаги являются управляющими (меняют состояние объекта)
Статусы являются информационными (только информируют)

оплата разрешена – в ближайших планах, пока не доступно


Слайд 3 Настройки каталога
Включить количественный учет – уменьшать количество товара

Настройки каталогаВключить количественный учет – уменьшать количество товара в каталоге при

в каталоге при покупке.
Разрешить покупку при отсутствии товара –

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

Слайд 4 Настройки магазина: резервирование
Товар может резервироваться при
создании заказа (сразу

Настройки магазина: резервированиеТовар может резервироваться присоздании заказа (сразу при размещении нового

при размещении нового заказа, все товары заказа)
при частичной оплате

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

Слайд 5 Настройки магазина: автоматизация
Автоматически менять статус заказа - изменение

Настройки магазина: автоматизацияАвтоматически менять статус заказа - изменение информационного статуса заказа

информационного статуса заказа при соответствующем изменении состояния заказа
при получении

частичной/полной оплаты
при разрешении доставки частичной отгрузки / всех частичных отгрузок
при отгрузке частичной отгрузки / всех частичных отгрузок
Автоматически менять статус частичной отгрузки
при разрешении доставки частичной отгрузки
при отгрузке частичной отгрузки

Разрешать доставку при частичной/полной оплате заказа – автоматически устанавливать флаг разрешения отгрузки во всех частичных отгрузках заказа при частичной/полной оплате заказа
Разрешать отгрузку частичной отгрузки при разрешении ее доставки – автоматически устанавливать флаг отгрузки частичной отгрузки при установке флага разрешения отгрузки


Слайд 6 заказ

600 руб.

оплачено – нет
статус – принят

корзина
товар А,

заказ600 руб.оплачено – нетстатус – приняткорзина товар А, 3 шт., 100

3 шт., 100 руб./шт.
товар Б, 2 шт., 50

руб./шт.

отгрузка
товар А, 3 шт.
товар Б, 2 шт.
стоимость 200 руб.
отгрузка разрешена - нет
отгружено - нет
статус – ожидает обработки
зарезервировано – нет

каталог
товар А - 10 шт.
0 в резерве
товар Б - 5 шт.
0 в резерве

Поступил новый заказ

количественный учет и резервирование включены
резервирование – при частичной оплате
разрешать доставку при полной оплате
при получении разрешения на доставку переводить в статус «Формируется к отправке»

оплата
600 руб.
оплачено - нет


Слайд 7 заказ

600 руб.

оплачено – нет
статус – принят

корзина
товар А,

заказ600 руб.оплачено – нетстатус – приняткорзина товар А, 3 шт., 100

3 шт., 100 руб./шт.
товар Б, 2 шт., 50

руб./шт.

Выделим 1 шт. товара А в отдельную
отгрузку и разделим оплату на 2 этапа

отгрузка 1
товар А, 2 шт.
товар Б, 2 шт. 200 руб.

отгрузка разрешена - нет
отгружено - нет
статус – ожидает обработки
зарезервировано – нет

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

отгрузка 2
товар А, 1 шт. 0 руб.

отгрузка разрешена - нет
отгружено - нет
статус – ожидает обработки
зарезервировано – нет

оплата А
400 руб.
оплачено - нет

оплата Б
200 руб.
оплачено - нет

каталог
товар А - 10 шт.
0 в резерве
товар Б - 5 шт.
0 в резерве


Слайд 8 заказ

600 руб.

оплачено – нет
статус – принят

корзина
товар А,

заказ600 руб.оплачено – нетстатус – приняткорзина товар А, 3 шт., 100

3 шт., 100 руб./шт.
товар Б, 2 шт., 50

руб./шт.

Оплатим счет Б на 200 руб.
(резервирование включено, товар резервируется при частичной оплате заказа)

отгрузка 1
товар А, 2 шт.
товар Б, 2 шт. 200 руб.

отгрузка разрешена - нет
отгружено - нет
статус – ожидает обработки
зарезервировано – да

отгрузка 2
товар А, 1 шт. 0 руб.

отгрузка разрешена - нет
отгружено - нет
статус – ожидает обработки
зарезервировано – да

оплата А
400 руб.
оплачено - нет

оплата Б
200 руб.
оплачено - да

каталог
товар А - 7 шт.
3 в резерве
товар Б - 3 шт.
2 в резерве

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


Слайд 9 заказ

600 руб.

оплачено – да
статус – формируется
к отправке

корзина

заказ600 руб.оплачено – дастатус – формируется к отправкекорзина товар А, 3

товар А, 3 шт., 100 руб./шт.
товар Б, 2

шт., 50 руб./шт.

Оплатим счет А на 400 руб.
(разрешение отгрузки при оплате, установка статуса при разрешении)

отгрузка 1
товар А, 2 шт.
товар Б, 2 шт. 200 руб.

отгрузка разрешена - да
отгружено - нет
статус – ожидает обработки
зарезервировано – да

отгрузка 2
товар А, 1 шт. 0 руб.

отгрузка разрешена - да
отгружено - нет
статус – ожидает обработки
зарезервировано – да

оплата А
400 руб.
оплачено - да

оплата Б
200 руб.
оплачено - да

каталог
товар А - 7 шт.
3 в резерве
товар Б - 3 шт.
2 в резерве

Если бы был установлен флаг отгрузки при разрешении отгрузки, то обе отгрузки были бы автоматически отгружены


Слайд 10 заказ

600 руб.

оплачено – да
статус – формируется
к отправке

корзина

заказ600 руб.оплачено – дастатус – формируется к отправкекорзина товар А, 3

товар А, 3 шт., 100 руб./шт.
товар Б, 2

шт., 50 руб./шт.

Отгрузим частичную отгрузку 1

отгрузка 1
товар А, 2 шт.
товар Б, 2 шт. 200 руб.

отгрузка разрешена - да
отгружено - да
статус – ожидает обработки
зарезервировано – да

отгрузка 2
товар А, 1 шт. 0 руб.

отгрузка разрешена - да
отгружено - нет
статус – ожидает обработки
зарезервировано – да

оплата А
400 руб.
оплачено - да

оплата Б
200 руб.
оплачено - да

каталог
товар А - 7 шт.
1 в резерве
товар Б - 3 шт.
0 в резерве

Так как включено резервирование, то фактическое списание из каталога производится при отгрузке частичной отгрузки


Слайд 11 заказ

600 руб.

оплачено – да
статус – завершен

корзина
товар А,

заказ600 руб.оплачено – дастатус – завершенкорзина товар А, 3 шт., 100

3 шт., 100 руб./шт.
товар Б, 2 шт., 50

руб./шт.

Отгрузим вторую частичную отгрузку
и поменяем статус заказа

отгрузка 1
товар А, 2 шт.
товар Б, 2 шт. 200 руб.

отгрузка разрешена - да
отгружено - да
статус – ожидает обработки
зарезервировано – да

отгрузка 2
товар А, 1 шт. 0 руб.

отгрузка разрешена - да
отгружено - да
статус – ожидает обработки
зарезервировано – да

оплата А
400 руб.
оплачено - да

оплата Б
200 руб.
оплачено - да

каталог
товар А - 7 шт.
0 в резерве
товар Б - 3 шт.
0 в резерве

Обработка заказа завершена


Слайд 12 События жизненного цикла

События жизненного цикла

Слайд 13
Заказ

Состав отгрузки
Отгрузка
Свойства
и т.п.
Товар заказа
Заказ
Коллекция товаров (корзина)
Коллекция оплат
Коллекция отгрузок



Оплата




Компания
БД
ORM


Поднимаем

ЗаказСостав отгрузкиОтгрузкаСвойстваи т.п.Товар заказаЗаказКоллекция товаров (корзина)Коллекция оплатКоллекция отгрузокОплатаКомпанияБДORMПоднимаем объекты (заказ) из

объекты (заказ) из базы
Меняем, обсчитываем объекты
(система поддерживает консистентное, не

противоречивое состояние объектов)
Сохраняем объекты в базу

Слайд 14 Создание / изменение заказа
Создание заказа
создание объекта заказа
установка параметров

Создание / изменение заказаСоздание заказасоздание объекта заказаустановка параметров объектасвязывание с корзиной

объекта
связывание с корзиной товаров
создание частичных оплат и отгрузок
сохранение заказа
Изменение

заказа
загрузка заказа из базы
изменение параметров заказа и других связных сущностей
сохранение
заказа

Слайд 15 Виды событий
События обсчета
Меняем объекты в памяти
Система автоматически поддерживает

Виды событийСобытия обсчетаМеняем объекты в памятиСистема автоматически поддерживает консистентное состояниеновый заказ

консистентное состояние
новый заказ – полный пересчет
существующий заказ – численная

целостность
События сохранения
Сохраняются все сущности в том состоянии, в котором они есть на данный момент

создание

сохранение



загрузка


или


Слайд 16 Обсчет против Сохранения
События при сохранении применяются для
применения изменений

Обсчет против СохраненияСобытия при сохранении применяются дляприменения изменений к внешним по

к внешним по отношению к заказу сущностям (например, к

каталогу товаров или внешней базе покупателей)
изменение алгоритма сохранения заказа (например, отмена сохранения)
События на обсчет заказа применяются
во всех остальных случаях

При нарушении этих правил следует учитывать, что
если изменять внешние данные на обсчете заказа, то они окажутся некорректны, если после обсчета не было сохранения заказа
если изменять параметры заказа на сохранении, то при обсчете они все еще будут старыми (потенциально не корректными)

Слайд 17 Вмешиваемся в обсчет на событиях
События на изменение значения

Вмешиваемся в обсчет на событияхСобытия на изменение значения поляOnBeforeSetFieldпараметрыENTITY – объект,

поля
OnBeforeSetField
параметры
ENTITY – объект, чье поле
NAME – название поля
VALUE –

значение поля
On<имя>SetField
параметры
ENTITY – объект, чье поле
NAME – название поля
VALUE – значение поля
OLD_VALUE – старое значение

для любого наследника \Bitrix\Sale\Internals\Entity
SaleOrder
SaleBasketItem
SaleShipment
SaleShipmentItem
SalePayment
SalePropertyValue

OnBefore – в самом начале, можно отменить изменение
On – перед изменением, если оно реально началось


Слайд 18 Вмешиваемся в обсчет на событиях
События на завершение пересчета
(при

Вмешиваемся в обсчет на событияхСобытия на завершение пересчета(при завершении пересчета обсчитываются

завершении пересчета обсчитываются налоги, скидки и т.п.)
OnBeforeSaleOrderFinalAction
если у заказа

есть корзина
параметры
ENTITY – объект заказа
BASKET – объект корзины
OnAfterSaleOrderFinalAction
в самом конце обсчета
параметры
ENTITY – объект заказа

Слайд 19 Вмешиваемся в сохранение на событиях
События на сохранение заказа
OnSaleOrderBeforeSaved
параметры
ENTITY

Вмешиваемся в сохранение на событияхСобытия на сохранение заказаOnSaleOrderBeforeSavedпараметрыENTITY – объект заказаVALUES

– объект заказа
VALUES – старые значения полей заказа
если вернуть

EventResult::ERROR, то сохранение отменится
OnSaleOrderSaved
параметры
ENTITY – объект заказа
VALUES – старые значения полей заказа
IS_NEW – новый заказ

Слайд 20 Вмешиваемся в сохранение на событиях
Событие непосредственно после сохранения

Вмешиваемся в сохранение на событияхСобытие непосредственно после сохранения сущностиOnEntitySavedпараметрыENTITY – сохраняемый

сущности
OnEntitySaved
параметры
ENTITY – сохраняемый объект
VALUES – старые значения полей
для любого

наследника \Bitrix\Sale\Internals\Entity
SaleOrder
SaleBasketItem
SaleShipment
SaleShipmentItem
SalePayment
SalePropertyValue


Слайд 21 Вмешиваемся в сохранение на событиях
Специфические события
OnSaleOrderCanceled - сохраняемый

Вмешиваемся в сохранение на событияхСпецифические событияOnSaleOrderCanceled - сохраняемый заказ был отмененпараметры:

заказ был отменен
параметры: ENTITY – объект заказа
OnSaleStatusOrderChange – статус

заказа был изменен
параметры: ENTITY – объект заказа, VALUE – новое значение статуса, OLD_VALUE – старое значение статуса
OnSaleOrderPaid – оплаченность заказа была изменена
параметры: ENTITY – объект заказа
OnShipmentTrackingNumberChange – был изменен идентификатор отправления
параметры: ENTITY – объект частичной отгрузки
OnShipmentAllowDelivery – был изменен флаг разрешения отгрузки
параметры: ENTITY – объект частичной отгрузки
OnShipmentDeducted – был изменен флаг отгрузки
параметры: ENTITY – объект частичной отгрузки

Слайд 22 Вмешиваемся в сохранение корзины
Если корзина не привязана к

Вмешиваемся в сохранение корзиныЕсли корзина не привязана к заказуOnSaleBasketBeforeSavedпараметрыENTITY – объект

заказу
OnSaleBasketBeforeSaved
параметры
ENTITY – объект корзины
если вернуть EventResult::ERROR, то сохранение отменится
OnSaleBasketSaved
параметры
ENTITY

– объект корзины

Слайд 23 Платежные системы
Службы доставки

Платежные системыСлужбы доставки

Слайд 24 Пользовательские платежные системы
Обработчики – классы + вспомогательные файлы
Наследование,

Пользовательские платежные системыОбработчики – классы + вспомогательные файлыНаследование, интерфейсыPaySystem\BaseServiceHandlerPaySystem\ServiceHandlerШаблоны

интерфейсы
PaySystem\BaseServiceHandler
PaySystem\ServiceHandler
Шаблоны


Слайд 25 Пользовательские службы доставки
Обработчики – классы + вспомогательные файлы
Наследование
Delivery\Services\Base
Событие

Пользовательские службы доставкиОбработчики – классы + вспомогательные файлыНаследованиеDelivery\Services\BaseСобытие расчета стоимости

расчета стоимости


Слайд 26 Пользовательские ограничения
onSalePaySystemRestrictionsClassNamesBuildList 
onSaleDeliveryRestrictionsClassNamesBuildList

Пользовательские ограниченияonSalePaySystemRestrictionsClassNamesBuildList onSaleDeliveryRestrictionsClassNamesBuildList

  • Имя файла: zhiznennyy-tsikl-zakaza-avtomatizatsiya-obrabotki-zakaza-1sbitriks.pptx
  • Количество просмотров: 124
  • Количество скачиваний: 0