Версия: 6.x
burger close
Класс ShipmentApi
Граф наследования:ShipmentApi:
EntityList BaseModel

Подробное описание

API функции для работы с отгрузками

Открытые члены

 __construct ()
 
 getExistsUits ($order_id, $uits_post_data)
 
 getNextShipmentData (Orm\Order $order)
 
 getNextShipmentStatus (array $next_shipment_data)
 
 getShipmentStatusText ($status)
 
 getShippedItemsAmountByOrder ($order_id)
 
 getShippedItemsUITsByOrder ($order_id)
 
 getShippedItemsCostByOrder ($order_id)
 
 createShipment (Order $order, $shipment_data, $add_delivery, $create_receipt)
 
 buildShipmentItemsArray (Orm\Order $order)
 
- Открытые члены унаследованные от EntityList
 __construct (AbstractObject $orm_element, array $options=[])
 
 setDefaultOrder ($order)
 
 getNameField ()
 
 setNameField ($field)
 
 setAliasField ($field)
 
 setSortField ($field)
 
 setIdField ($field)
 
 getIdField ()
 
 getSiteIdField ()
 
 setLoadOnDelete ($bool)
 
 setSiteContext ($site_id=null)
 
 getSiteContext ()
 
 setMultisite ($bool)
 
 isMultisite ()
 
 resetQueryObject ()
 
 getCleanQueryObject ()
 
 queryObj ()
 
 setQueryObj (\RS\Orm\Request $q)
 
 defAlias ()
 
 setFilter ($key, $value=null, $type= '=', $prefix= 'AND', array $options=[])
 
 clearFilter ()
 
 getList ($page=null, $page_size=null, $order=null)
 
 getListAsArray ($page=0, $page_size=0, $order= '')
 
 getListAsResource ($page=0, $page_size=0, $order= '')
 
 getPagedList ($page_size)
 
 loadAssocList ($key_field, $value=null)
 
 getAssocList ($key_field, $value=null)
 
 setOrder ($order=null, array $values=null)
 
 setGroup ($group=null)
 
 getListCount ()
 
 getFirst ()
 
 getOneItem ($id)
 
 getById ($id, $request=null)
 
 getElement ()
 
 setElement ($object)
 
 getElementClass ()
 
 getNewElement ()
 
 save ($id=null, array $user_post=[])
 
 addFilterControl (\RS\Html\Filter\Control $filter_control)
 
 addTableControl (\RS\Html\Table\Control $table_control)
 
 del (array $ids)
 
 multiDelete ($ids)
 
 getSelectList ($first=[])
 
 multieditFormView ($tpl_path, $formfile, array $addparam=[])
 
 multiUpdate (array $data, $ids=[])
 
 moveElement ($from, $to, $flag,\RS\Orm\Request $extra_expr=null)
 
 noWriteRights ($right=DefaultModuleRights::RIGHT_UPDATE)
 
 getIdByAlias ($alias_or_id, $alias_field=null)
 
 saveRequest ($key)
 
 getIdsByRequest (\RS\Orm\Request $request)
 
 __set ($name, $value)
 
 __get ($name)
 
 __isset ($name)
 
 __unset ($name)
 
- Открытые члены унаследованные от BaseModel
 addError ($message, $fieldname=null, $form=null)
 
 hasError ()
 
 getErrors ()
 
 cleanErrors ()
 
 getDisplayErrors ()
 
 getErrorsStr ()
 
 getFormErrors ($form, $separator= ', ')
 
 getNonFormErrors ($separator= ', ')
 
 exportErrors ()
 
 importErrors ($data)
 

Поля данных

const SHIPMENT_STATUS_SHIPPED = 'shipped'
 
const SHIPMENT_STATUS_CAN_FULLY_SHIP = 'can_fully_ship'
 
const SHIPMENT_STATUS_CAN_PARTIALLY_SHIP = 'can_partially_ship'
 
const SHIPMENT_STATUS_CAN_NOT_SHIP = 'can_not_ship'
 
- Поля данных унаследованные от EntityList
const WHERE_CONDITION_VAR = 'where_conditions'
 
- Поля данных унаследованные от BaseModel
 $form_fieldname = []
 
 $errors_by_form = []
 
 $errors_non_form = []
 
 $errors = []
 

Защищенные члены

 createTransactionByShipment (Order $order, Shipment $shipment, $create_receipt)
 
 prepareUitsId ($order_id, array $shipment_items)
 
- Защищенные члены унаследованные от EntityList
 parseArrayFilter ($filters)
 
 filterLike ($key, $value, $type, $prefix, $options)
 
 filterIs ($key, $value, $type, $prefix, $options)
 
 filterFullText ($key, $value, $type, $prefix, $options)
 
 filterIn ($key, $value, $type, $prefix, $options)
 
 filterNotin ($key, $value, $type, $prefix, $options)
 
 filterDefault ($key, $value, $type, $prefix, $options)
 
 setPage ($page, $pageSize)
 
 moveArrayUp ($arr)
 
 moveArrayDown ($arr)
 

Дополнительные унаследованные члены

- Открытые статические члены унаследованные от EntityList
static getInstance ($key= 'default')
 
static staticSelectList ($first=[])
 
static getSavedRequest ($key, $default=null)
 
- Защищенные данные унаследованные от EntityList
 $default_order
 
 $load_on_delete = false
 
 $id_field = 'id'
 
 $alias_field
 
 $sort_field
 
 $name_field
 
 $site_id_field = 'site_id'
 
 $is_multisite = false
 
 $site_context
 
 $def_table_alias = 'A'
 
 $obj
 
 $obj_instance
 
 $filter_active = false
 
 $multiedit_template = '%system%/coreobject/multiedit_form.tpl'
 
 $assocPlainList = []
 
 $parsePrefixes = ['&' => 'AND'
 
 $cache_alias = []
 
 $options = []
 
 $q
 
- Защищенные данные унаследованные от BaseModel
 $default_error_fieldname = 'Информация'
 
- Статические защищенные данные унаследованные от EntityList
static $instance = []
 

Конструктор(ы)

__construct ( )

Методы

buildShipmentItemsArray ( Orm\Order  $order)

Формирует массив shipment_data для всех товаров, положенных для отгрузки. Этот массив нужен для метода createShipment, в случае когда нужно создать отгрузку для всех позиций. Через API можно создать отгрузку только для всех позиций

Аргументы
Orm\Order$order
Возвращает
array
createShipment ( Order  $order,
  $shipment_data,
  $add_delivery,
  $create_receipt 
)

Создает отгрузку для указанного заказа

Аргументы
Order$order
array$shipment_dataМассив с элементами отгрузки. Массив приходит из формы в админ.панели [order_item_uniq => [amount => 1]] для товаров не требующих маркировку [order_item_uniq => [uit => ['GTIN + SERIAL', ...]]] для товаров, требующих маркировку
bool$add_deliveryЕсли true, то доставка будет добавлена в чек отгрузки
bool$create_receiptЕсли true, то чек отгрузки будет создан
Возвращает
Shipment|false
createTransactionByShipment ( Order  $order,
Shipment  $shipment,
  $create_receipt 
)
protected

Создает транзакцию для отгрузки

Аргументы
Order$orderОбъект заказа
Shipment$shipmentОбъект отгрузки
bool$create_receiptЕсли true, то создает чек
Возвращает
bool
getExistsUits (   $order_id,
  $uits_post_data 
)

Возвращает уже имеющиеся uit'ы в базе

Аргументы
array$uits_post_dataДанные от формы Отгрузки в администратиной панели
Возвращает
array
getNextShipmentData ( Orm\Order  $order)

Возвращает информацию о товарных позициях для следующей отгрузки. Эта информация необходима для формирования формы следующей отгрузки.

Аргументы
Orm\Order$orderЗаказ
Возвращает
array
getNextShipmentStatus ( array  $next_shipment_data)

Возвращает статус следующей отгрузки, опираясь на данные, возвращаемые методом getNextShipmentData

Аргументы
array$items
Возвращает
string
getShipmentStatusText (   $status)

Возвращает текстовое представление статуса

Аргументы
string$status
Возвращает
string
getShippedItemsAmountByOrder (   $order_id)

Возвращает количество уже отгруженных товаров в заказе

Аргументы
integer$order_idID заказа
Возвращает
array
getShippedItemsCostByOrder (   $order_id)

Возвращает сумму уже отгруженных товаров в заказе

Аргументы
integer$order_id- ID Заказа
Возвращает
float[]
getShippedItemsUITsByOrder (   $order_id)

Возвращает список идентификаторов уже отгруженных маркировок. Массив состоит из строк GTIN + SERIAL, однозначно идентифицирующих маркировку

Аргументы
integer$order_idID заказа
Возвращает
array
prepareUitsId (   $order_id,
array  $shipment_items 
)
protected

Возвращает массив, где в ключе публичный ID маркировки (GTIN + SERIAL), а в значении ID uit

Аргументы
integer$order_id
array$shipment_items
Возвращает
array

Поля

const SHIPMENT_STATUS_CAN_FULLY_SHIP = 'can_fully_ship'
const SHIPMENT_STATUS_CAN_NOT_SHIP = 'can_not_ship'
const SHIPMENT_STATUS_CAN_PARTIALLY_SHIP = 'can_partially_ship'
const SHIPMENT_STATUS_SHIPPED = 'shipped'