40 $registryUnchanged = $this->loadConductedDocumentElements();
42 if (empty($registryUnchanged))
49 foreach ($registryUnchanged as $item)
51 if (!empty($item[
'STORE_TO']))
54 $batchElement->setAmount($item[
'AMOUNT']);
55 $batchElement->setShipmentItemStoreId($item[
'STORE_TO']);
56 $batchElement->setDocumentElementId($item[
'ID']);
57 $batchElement->setBatchPrice($item[
'PURCHASING_PRICE']);
58 $batchElement->setBatchCurrency($item[
'CURRENCY']);
63 if (!empty($item[
'STORE_FROM']))
66 $batchElement->setAmount(-$item[
'AMOUNT']);
67 $batchElement->setShipmentItemStoreId($item[
'STORE_TO']);
70 $batchElement->setShipmentItemStoreId($item[
'ID']);
74 $batchElement->setDocumentElementId($item[
'ID']);
84 private function loadConductedDocumentElements():
array
87 'ELEMENT_ID' => $this->balancer->getProductId(),
88 '=DOCUMENT.STATUS' =>
'Y',
91 if ($this->balancer->getStartDate() !==
null)
93 $filterDocs[
'>=STATUS_DATE'] = $this->balancer->getStartDate();
97 'filter' => $filterDocs,
104 'DOCUMENT_TYPE' =>
'DOCUMENT.DOC_TYPE',
105 'CURRENCY' =>
'DOCUMENT.CURRENCY',
106 'DATE' =>
'DOCUMENT.DATE_STATUS',
107 'BATCH_ID' =>
'BATCH_BINDING.PRODUCT_BATCH_ID',
113 array(
'=this.ID' =>
'ref.DOCUMENT_ELEMENT_ID'),
114 array(
'join_type' =>
'left'),
117 'order' => [
'DATE' =>
'ASC'],
122 if (Loader::includeModule(
'sale'))
125 '=ORDER_DELIVERY_BASKET.BASKET.PRODUCT_ID' => $this->balancer->getProductId(),
126 '=ORDER_DELIVERY_BASKET.DELIVERY.DEDUCTED' =>
'Y',
129 if ($this->balancer->getStartDate() !==
null)
131 $filterSales[
'>=ORDER_DELIVERY_BASKET.DELIVERY.DATE_DEDUCTED'] = $this->balancer->getStartDate();
134 $salesElements = ShipmentItemStoreTable::getList([
135 'filter' => $filterSales,
138 'STORE_FROM' =>
'STORE_ID',
139 'AMOUNT' =>
'QUANTITY',
140 'DATE' =>
'ORDER_DELIVERY_BASKET.DELIVERY.DATE_DEDUCTED',
141 'BATCH_ID' =>
'BATCH_BINDING.PRODUCT_BATCH_ID',
147 array(
'=this.ID' =>
'ref.SHIPMENT_ITEM_STORE_ID'),
148 array(
'join_type' =>
'left'),
151 'order' => [
'DATE' =>
'ASC'],
154 while ($element = $salesElements->fetch())
157 $registry[] = $element;
static getList(array $parameters=array())
static sortByColumn(array &$array, $columns, $callbacks='', $defaultValueIfNotSetValue=null, $preserveKeys=false)