Открытые члены | |
| updateStocks ($items, $warehouse_id, $old_items=null, $old_warehouse=null) | |
| revertItems ($items, $warehouse_id) | |
| recalculateStocks ($item, $warehouse_id) | |
| recalculateStartNum ($item, $warehouse_id) | |
| updateRemainsFromOrder (\Shop\Model\Orm\Order $order, $flag, $old_warehouse=null) | |
| getNum ($amounts) | |
| getAmountByDocuments ($product_id, $offer_id, $warehouse_id, $products_orm=null, $add_start_num=true) | |
| getAmountByDocumentsAsOf ($product_id, $offer_id, $warehouse_id, $date, $exclude_document_ids=[], $products_orm=null, $add_start_num=true) | |
| getAmountsByDocumentsAsOfBatch ($pairs, $warehouse_id, $date, $exclude_document_ids=[]) | |
| isDateBeforeArchivedData ($product_id, $offer_id, $warehouse_id, $date) | |
| getArchivedMaxDates ($pairs, $warehouse_id) | |
| getStartNums ($product_id, $offer_id=null, $warehouse_id=null) | |
| getStockSum ($product_id, $offer_id=null) | |
Открытые члены унаследованные от StockInterface | |
| updateRemainsFromOrder (Order $order, $flag, $old_warehouse=null) | |
| getAmountByDocuments | ( | $product_id, | |
| $offer_id, | |||
| $warehouse_id, | |||
$products_orm = null, |
|||
$add_start_num = true |
|||
| ) |
Получить количетво комплектации товара исходя из документов
| integer | $product_id | - id товара |
| integer | $offer_id | - id комплектации |
| integer | $warehouse_id | - id склада |
| getAmountByDocumentsAsOf | ( | $product_id, | |
| $offer_id, | |||
| $warehouse_id, | |||
| $date, | |||
$exclude_document_ids = [], |
|||
$products_orm = null, |
|||
$add_start_num = true |
|||
| ) |
Получить количество комплектации товара исходя из документов, действовавших на указанную дату
| integer | $product_id | - id товара |
| integer | $offer_id | - id комплектации |
| integer | $warehouse_id | - id склада |
| string | $date | - дата, на которую считаем (документы позже неё не учитываются) |
| array | $exclude_document_ids | - id документов, которые нужно исключить из расчёта (собственные связанные приход/списание пересчитываемой инвентаризации) |
| $products_orm | ||
| bool | $add_start_num |
| getAmountsByDocumentsAsOfBatch | ( | $pairs, | |
| $warehouse_id, | |||
| $date, | |||
$exclude_document_ids = [] |
|||
| ) |
Групповая версия getAmountByDocumentsAsOf().
| array | $pairs | - [['product_id'=>,'offer_id'=>], ...] |
| integer | $warehouse_id | - id склада |
| string | $date | - дата, на которую считаем (документы позже неё не учитываются) |
| array | $exclude_document_ids | - id документов, которые нужно исключить из расчёта |
| getArchivedMaxDates | ( | $pairs, | |
| $warehouse_id | |||
| ) |
Групповая версия isDateBeforeArchivedData(). Одним запросом получает максимальную дату архивных документов сразу для набора пар товар+комплектация на одном складе.
| array | $pairs | - [['product_id'=>,'offer_id'=>], ...] |
| integer | $warehouse_id | - id склада |
| getNum | ( | $amounts | ) |
Расчитывает доступное количество товара из заданной формулы
| array | $amounts | - массив со значениями: резервирования, ожидания, остатки. |
| getStartNums | ( | $product_id, | |
$offer_id = null, |
|||
$warehouse_id = null |
|||
| ) |
Получить остатки товара в архиве
| integer | $product_id | - id товара |
| integer | $offer_id | - id комплектации |
| integer | $warehouse_id | - id склада |
| getStockSum | ( | $product_id, | |
$offer_id = null |
|||
| ) |
Получить сумму остатков товара или комплектации из таблицы x_stock
| integer | $product_id | - id товара |
| null | integer | $offer_id | - id комплектации, если не указано, будут учтены все комплектации |
| isDateBeforeArchivedData | ( | $product_id, | |
| $offer_id, | |||
| $warehouse_id, | |||
| $date | |||
| ) |
Проверяет, есть ли для данной пары товар+комплектация+склад уже заархивированные документы на/после указанной даты. В этом случае getAmountByDocumentsAsOf() не сможет посчитать её корректно "на дату" - архивные документы физически перенесены в другую таблицу и не имеют собственной даты архивации, поэтому единственный надёжный сигнал - максимальная дата среди уже заархивированных документов этой конкретной пары.
| integer | $product_id | - id товара |
| integer | $offer_id | - id комплектации |
| integer | $warehouse_id | - id склада |
| string | $date | - дата, на которую хотим посчитать |
| recalculateStartNum | ( | $item, | |
| $warehouse_id | |||
| ) |
Пересчитать количество товара в архиве
| $item | |
| $warehouse_id |
| recalculateStocks | ( | $item, | |
| $warehouse_id | |||
| ) |
Перезаписывает остатки
| array | $item | - массив с информацией об объекте товара в документе $item = [ 'product_id' => (integer) id товара. 'offer_id' => (integer) id комплектации. 'amount' => (integer) количество. ] |
| integer | $warehouse_id | - id склада |
| revertItems | ( | $items, | |
| $warehouse_id | |||
| ) |
Пересчитать показатели количества товаров
| array | $items | - массив с объектами товаров документа $items = [ 'uniq' => () - объект товара документа ] |
| $warehouse_id | - id склада |
| updateRemainsFromOrder | ( | \Shop\Model\Orm\Order | $order, |
| $flag, | |||
$old_warehouse = null |
|||
| ) |
Создает документы после записи заказа
| \Shop\Model\Orm\Order | $order | - объект заказа |
| string | $flag | - флаг сохранения (update или insert) |
| null | integer | $old_warehouse | - предыдущий склад заказа |
| updateStocks | ( | $items, | |
| $warehouse_id, | |||
$old_items = null, |
|||
$old_warehouse = null |
|||
| ) |
Обновить остатки товаров
| array | $items | - товары документа |
| integer | $warehouse_id | - id склада |
| null | array | $old_items | - старые товары |
| null | integer | $old_warehouse | - старый склад |