Server IP : 80.87.202.40 / Your IP : 216.73.216.169 Web Server : Apache System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64 User : bitrix ( 600) PHP Version : 8.2.27 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /home/bitrix/ext_www/rospirotorg.ru/bitrix/modules/sale/lib/exchange/ |
Upload File : |
<?php namespace Bitrix\Sale\Exchange; use Bitrix\Sale\Exchange\Entity\SubordinateSale\EntityImportFactory; use Bitrix\Sale\Exchange\OneC\DocumentBase; use Bitrix\Sale\Exchange\OneC\PaymentDocument; use Bitrix\Sale\Exchange\OneC\ShipmentDocument; use Bitrix\Sale\Exchange\OneC\SubordinateSale\ConverterFactory; final class ExportOneCSubordinateSale extends ExportOneCPackage { /** * @param $typeId * @return IConverter */ protected function converterFactoryCreate($typeId) { return ConverterFactory::create($typeId); } /** * @param $typeId * @return DocumentBase */ protected function documentFactoryCreate($typeId) { return \Bitrix\Sale\Exchange\OneC\SubordinateSale\DocumentFactory::create($typeId); } /** * @param DocumentBase[] $documents */ protected function convertDocumentFields(array $documents) { parent::convertDocumentFields($documents); $documentOrder = $this->getDocumentByTypeId(EntityType::ORDER, $documents); $fieldsOrder = $documentOrder->getFieldValues(); foreach ($documents as $document) { if($document instanceof PaymentDocument || $document instanceof ShipmentDocument) { $fieldsOrder['SUBORDINATES'][] = $document->getFieldValues(); } } $documentOrder->setFields($fieldsOrder); } /** * @return string */ protected function getShemVersion() { return static::SHEM_VERSION_2_10; } /** * @param array $list * @return array */ protected function modifyDocumentsCollection(array $list) { return array($this->getDocumentByTypeId(EntityType::ORDER, $list)); } /** * @param $typeId * @return ImportBase */ protected function entityFactoryCreate($typeId) { return EntityImportFactory::create($typeId); } }