Версия 1С соответствует УТ 11.1.4 (белорусская 3.1.5.1)
Версия модуля обмена 4.0.4.2
Версия мадженты 2.41.0
URL: http://sharx.org/df-1c/cml2/index/?type=catalog&mode=import&filename=prices___5d96dc28-4b21-42b5-9f1e-983dde5d919d.xml&
Версия Magento: 2.40.1 (1.9.0.1)
Версия PHP: 5.4.4-14+deb7u14
Время: 2014-11-26 17:25:26 MSK
Cхема CommerceML: 2.08
Оформительская тема: ultimo / default
***********************************
Notice: Undefined index: standard_code in /var/www/torros/data/www/sharx.org/app/code/local/Df/1C/Model/Settings/General.php on line 33
***********************************
Файл: app/code/local/Df/1C/Model/Settings/General.php
Строка: 33
Субъект: Df_1C_Model_Settings_General::getCurrencyCodesMapFrom1CToMagento
Объект: mageCoreErrorHandler
Контекст:
;
/** @var string $standardCode */
$standardCode =
df_nts(
$mapItem[
Df_1C_Block_System_Config_Form_Field_NonStandardCurrencyCodes
::COLUMN__STANDARD
]
)
;
if ($nonStandardCode && $standardCode) {
$nonStandardCode =
df_h()->_1c()->cml2()->normalizeNonStandardCurrencyCode(
$nonStandardCode
)
;
************************************
Файл: app/code/local/Df/1C/Helper/Cml2.php
Строка: 53
Субъект: Df_1C_Helper_Cml2::convertCurrencyCodeToMagentoFormat
Объект: Df_1C_Model_Settings_General::getCurrencyCodesMapFrom1CToMagento
Контекст:
$result =
df_a(
array_merge(
array(
'РУБ' => 'RUB'
,'ГРН' => 'UAH'
)
,df_cfg()->_1c()->general()->getCurrencyCodesMapFrom1CToMagento()
)
,$codeNormalized
,$codeNormalized
)
;
df_result_string_not_empty($result);
return $result;
}
************************************
Файл: app/code/local/Df/1C/Model/Cml2/Import/Data/Entity/OfferPart/Price.php
Строка: 8
Субъект: Df_1C_Model_Cml2_Import_Data_Entity_OfferPart_Price::getCurrencyCode
Объект: Df_1C_Helper_Cml2::convertCurrencyCodeToMagentoFormat
Контекст:
<?php
class Df_1C_Model_Cml2_Import_Data_Entity_OfferPart_Price
extends Df_1C_Model_Cml2_Import_Data_Entity {
/** @return string */
public function getCurrencyCode() {
return df_h()->_1c()->cml2()->convertCurrencyCodeToMagentoFormat(
$this->getEntityParam('Валюта')
);
}
/**
* @override
* @return string
*/
public function getExternalId() {return $this->getEntityParam('ИдТипаЦены');}
************************************
Файл: app/code/local/Df/1C/Model/Cml2/Import/Data/Entity/OfferPart/Price.php
Строка: 56
Субъект: Df_1C_Model_Cml2_Import_Data_Entity_OfferPart_Price::getPriceBase
Объект: Df_1C_Model_Cml2_Import_Data_Entity_OfferPart_Price::getCurrencyCode
Контекст:
* @return float|null
*/
public function getPriceBase() {
if (!isset($this->{__METHOD__})) {
$this->{__METHOD__} = rm_n_set(
is_null($this->getPrice())
? null
: rm_currency()->convertToBase($this->getPrice(), $this->getCurrencyCode())
);
}
return rm_n_get($this->{__METHOD__});
}
/** @return Df_1C_Model_Cml2_Import_Data_Entity_PriceType */
public function getPriceType() {
return $this->getState()->getPriceTypes()->findByExternalId($this->getId());
************************************
Файл: app/code/local/Df/1C/Model/Cml2/Import/Processor/Product/Type/Simple/Abstract.php
Строка: 22
Субъект: Df_1C_Model_Cml2_Import_Processor_Product_Type_Simple_Abstract::getPrice
Объект: Df_1C_Model_Cml2_Import_Data_Entity_OfferPart_Price::getPriceBase
Контекст:
* @return float|null
*/
protected function getPrice() {
if (!isset($this->{__METHOD__})) {
$this->{__METHOD__} = rm_n_set(
is_null($this->getEntityOffer()->getPrices()->getMain())
? null
: $this->getEntityOffer()->getPrices()->getMain()->getPriceBase()
);
}
return rm_n_get($this->{__METHOD__});
}
/**
* @override
* @return string
************************************
Файл: app/code/local/Df/1C/Model/Cml2/Import/Processor/Product/Type.php
Строка: 76
Субъект: Df_1C_Model_Cml2_Import_Processor_Product_Type::getProductDataNewOrUpdateBase
Объект: Df_1C_Model_Cml2_Import_Processor_Product_Type_Simple_Abstract::getPrice
Контекст:
$hasQuantity
||
!$this->getExistingMagentoProduct()
) {
$result['qty'] = $hasQuantity ? $this->getEntityOffer()->getQuantity() : 0.0;
}
/** @var bool $hasPrice */
$hasPrice = $this->getDocumentCurrentAsOffers()->hasPrices() && !is_null($this->getPrice());
if (
// Обратите внимание, что 1С может вполне не передавать цену.
// Это возможно в следующих ситуациях:
// 1) Когда цена на товар отсутствует в 1С
// 2) Когда передача цен отключена в настройках узла обмена
// (а это возможно, как минимум, в новых версиях модуля 1С-Битрикс (ветка 4)).
// 3) В новых версиях модуля 1С-Битрикс (ветка 4, CommerceML 2.0.8)
// 1С передаёт цены не в файле offers.xml (как было в прежних версиях),
************************************
Файл: app/code/local/Df/1C/Model/Cml2/Import/Processor/Product/Type.php
Строка: 437
Субъект: Df_1C_Model_Cml2_Import_Processor_Product_Type::getProductDataNewOrUpdate
Объект: Df_1C_Model_Cml2_Import_Processor_Product_Type::getProductDataNewOrUpdateBase
Контекст:
);
return $result;
}
/** @return array(string => string) */
private function getProductDataNewOrUpdate() {
/** @var array(string => string) $result */
$result = $this->getProductDataNewOrUpdateBase();
/**
* Нам не нужно заниматься товарными свойствами и опциями
* при обработке файлов rests_*.xml, prices_*.xml и т.п.
* Более того, такая обработка может привести к некоторым сбоям.
*/
if ($this->getDocumentCurrentAsOffers()->isBase()) {
$result = array_merge($result
,$this->getProductDataNewOrUpdateAttributeValues(
************************************
Файл: app/code/local/Df/1C/Model/Cml2/Import/Processor/Product/Type.php
Строка: 40
Субъект: Df_1C_Model_Cml2_Import_Processor_Product_Type::getImporter
Объект: Df_1C_Model_Cml2_Import_Processor_Product_Type::getProductDataNewOrUpdate
Контекст:
*/
Df_Dataflow_Model_Importer_Product::P__SKIP_CUSTOM_OPTIONS => true
,Df_Dataflow_Model_Importer_Product::P__ROW =>
Df_Dataflow_Model_Import_Product_Row::i(array_merge(
$this->getExistingMagentoProduct()
? $this->getProductDataUpdateOnly()
: $this->getProductDataNewOnly()
, $this->getProductDataNewOrUpdate()
))
));
}
return $this->{__METHOD__};
}
/** @return array(string => string) */
protected function getProductDataNewOrUpdateBase() {
************************************
Файл: app/code/local/Df/1C/Model/Cml2/Import/Processor/Product/Type/Simple.php
Строка: 16
Субъект: Df_1C_Model_Cml2_Import_Processor_Product_Type_Simple::process
Объект: Df_1C_Model_Cml2_Import_Processor_Product_Type::getImporter
Контекст:
if (!$this->getEntityOffer()->isTypeSimple()) {
rm_1c_log(
'Пропускаем товарное предложение «%s» как не являющееся простым товаром.'
,$this->getEntityOffer()->getName()
);
}
else {
$this->getImporter()->import();
/** @var Df_Catalog_Model_Product $product */
$product = $this->getImporter()->getProduct();
df_h()->_1c()->cml2()->reindexProduct($product);
rm_1c_log(
'%s товар «%s».'
,!is_null($this->getExistingMagentoProduct()) ? 'Обновлён' : 'Создан'
,$product->getName()
);
************************************
Файл: app/code/local/Df/1C/Model/Cml2/Action/Catalog/Import.php
Строка: 158
Субъект: Df_1C_Model_Cml2_Action_Catalog_Import::importProductsSimple
Объект: Df_1C_Model_Cml2_Import_Processor_Product_Type_Simple::process
Контекст:
rm_1c_log('Простые товары отсутствуют.');
}
else {
rm_1c_log('Простых товаров: %d.', $count);
rm_1c_log('Импорт простых товаров начат.');
foreach ($this->getCollections()->getOffersSimple() as $offer) {
/** @var Df_1C_Model_Cml2_Import_Data_Entity_Offer $offer */
Df_1C_Model_Cml2_Import_Processor_Product_Type_Simple::i($offer)->process();
}
rm_1c_log('Импорт простых товаров завершён.');
}
return $this;
}
/** @return Df_1C_Model_Cml2_Action_Catalog_Import */
private function importProductsSimplePartImages() {
************************************
Файл: app/code/local/Df/1C/Model/Cml2/Action/Catalog/Import.php
Строка: 47
Субъект: Df_1C_Model_Cml2_Action_Catalog_Import::processInternal
Объект: Df_1C_Model_Cml2_Action_Catalog_Import::importProductsSimple
Контекст:
/** @var int $count */
$count = count($this->getCollections()->getOffers());
if (0 === $count) {
rm_1c_log('Товарные предложения отсутствуют.');
}
else {
rm_1c_log('Товарных предложений: %d.', $count);
$this->importProductsSimple();
/**
* Товарные изображения находятся в файле import.xml (import_*.xml).
* Учитывая, что начиная с ветки 4 модуля 1С-Битрикс
* мы получаем несколько файлов с тегом «ПакетПредложений»
* вместо прежнего единого файла offers.xml,
* то нам нет смысла по нескольку раз запускать импорт товарных изображений.
* Импортируем товарные изображения толь один раз:
* при наличии в файле offers_*.xml пути
************************************
Файл: app/code/local/Df/1C/Model/Cml2/Action.php
Строка: 36
Субъект: Df_1C_Model_Cml2_Action::process
Объект: Df_1C_Model_Cml2_Action_Catalog_Import::processInternal
Контекст:
if (!df_cfg()->_1c()->general()->isEnabled()) {
df_error(self::T__MODULE_IS_DISABLED);
}
df_h()->dataflow()->registry()->products()->addValidator(Df_1C_Validate_Product::s());
/** @var string|bool $output */
$output = null;
ob_start();
$this->processInternal();
/**
* Используем @, чтобы избежать сбоя «Failed to delete buffer zlib output compression».
* Такой сбой у меня возник на сервере moysklad.magento-demo.ru
* в другой точке программы при аналогичном вызове @see ob_get_clean.
*/
$output = @ob_get_clean();
if ($output) {
ob_start();
************************************
Файл: app/code/local/Df/1C/Model/Cml2/Action/Front.php
Строка: 86
Субъект: Df_1C_Model_Cml2_Action_Front::action_catalogImport
Объект: Df_1C_Model_Cml2_Action::process
Контекст:
/** @return void */
private function action_catalogDeactivate() {
Df_1C_Model_Cml2_Action_Catalog_Deactivate::i($this->getData())->process();
}
/** @return void */
private function action_catalogImport() {
Df_1C_Model_Cml2_Action_Catalog_Import::i($this->getData())->process();
}
/** @return void */
private function action_catalogUpload() {
Df_1C_Model_Cml2_Action_Catalog_Upload::i($this->getData())->process();
}
/** @return void */
************************************
Файл: app/code/local/Df/1C/Model/Cml2/Action/Front.php
Строка: 54
Субъект: Df_1C_Model_Cml2_Action_Front::processInternal
Объект: Df_1C_Model_Cml2_Action_Front::action_catalogImport
Контекст:
case Df_1C_Model_Cml2_InputRequest_Generic::MODE__DEACTIVATE:
$this->action_catalogDeactivate();
break;
case Df_1C_Model_Cml2_InputRequest_Generic::MODE__FILE:
$this->action_catalogUpload();
break;
case Df_1C_Model_Cml2_InputRequest_Generic::MODE__IMPORT:
$this->action_catalogImport();
break;
}
}
else if (
Df_1C_Model_Cml2_InputRequest_Generic::TYPE__ORDERS
===
$this->getRmRequest()->getType()
) {
************************************
Файл: app/code/local/Df/1C/Model/Cml2/Action.php
Строка: 36
Субъект: Df_1C_Model_Cml2_Action::process
Объект: Df_1C_Model_Cml2_Action_Front::processInternal
Контекст:
if (!df_cfg()->_1c()->general()->isEnabled()) {
df_error(self::T__MODULE_IS_DISABLED);
}
df_h()->dataflow()->registry()->products()->addValidator(Df_1C_Validate_Product::s());
/** @var string|bool $output */
$output = null;
ob_start();
$this->processInternal();
/**
* Используем @, чтобы избежать сбоя «Failed to delete buffer zlib output compression».
* Такой сбой у меня возник на сервере moysklad.magento-demo.ru
* в другой точке программы при аналогичном вызове @see ob_get_clean.
*/
$output = @ob_get_clean();
if ($output) {
ob_start();
************************************
Файл: app/code/local/Df/1C/controllers/Cml2Controller.php
Строка: 17
Субъект: Df_1C_Cml2Controller::indexAction
Объект: Df_1C_Model_Cml2_Action::process
Контекст:
* надлежащим для 1C: Управление торговлей способом
* (возвращает диагностическое сообщение в 1C: Управление торговлей
* по стандарту CommerceML 2)
*/
if (df_is_it_my_local_pc()) {
Mage::log(Mage::app()->getRequest()->getRequestUri());
}
Df_1C_Model_Cml2_Action_Front::i($this)->process();
}
/**
* @override
* @return Df_1C_Cml2Controller
*/
public function preDispatch() {
/**
************************************
Файл: app/code/core/Mage/Core/Controller/Varien/Action.php
Строка: 418
Субъект: Mage_Core_Controller_Varien_Action::dispatch
Объект: Df_1C_Cml2Controller::indexAction
Контекст:
/**
* preDispatch() didn't change the action, so we can continue
*/
if (!$this->getFlag('', self::FLAG_NO_DISPATCH)) {
$_profilerKey = self::PROFILER_KEY.'::'.$this->getFullActionName();
Varien_Profiler::start($_profilerKey);
$this->$actionMethodName();
Varien_Profiler::stop($_profilerKey);
Varien_Profiler::start(self::PROFILER_KEY.'::postdispatch');
$this->postDispatch();
Varien_Profiler::stop(self::PROFILER_KEY.'::postdispatch');
}
}
}
************************************
Файл: app/code/core/Mage/Core/Controller/Varien/Router/Standard.php
Строка: 250
Субъект: Mage_Core_Controller_Varien_Router_Standard::match
Объект: Mage_Core_Controller_Varien_Action::dispatch
Контекст:
// set parameters from pathinfo
for ($i = 3, $l = sizeof($p); $i < $l; $i += 2) {
$request->setParam($p[$i], isset($p[$i+1]) ? urldecode($p[$i+1]) : '');
}
// dispatch action
$request->setDispatched(true);
$controllerInstance->dispatch($action);
return true;
}
/**
* Get router default request path
* @return string
*/
************************************
Файл: app/code/core/Mage/Core/Controller/Varien/Front.php
Строка: 172
Субъект: Mage_Core_Controller_Varien_Front::dispatch
Объект: Mage_Core_Controller_Varien_Router_Standard::match
Контекст:
$this->_getRequestRewriteController()->rewrite();
Varien_Profiler::start('mage::dispatch::routers_match');
$i = 0;
while (!$request->isDispatched() && $i++ < 100) {
foreach ($this->_routers as $router) {
/** @var $router Mage_Core_Controller_Varien_Router_Abstract */
if ($router->match($request)) {
break;
}
}
}
Varien_Profiler::stop('mage::dispatch::routers_match');
if ($i>100) {
Mage::throwException('Front controller reached 100 router match iterations');
}
************************************
Файл: app/code/core/Mage/Core/Model/App.php
Строка: 354
Субъект: Mage_Core_Model_App::run
Объект: Mage_Core_Controller_Varien_Front::dispatch
Контекст:
$scopeCode = isset($params['scope_code']) ? $params['scope_code'] : '';
$scopeType = isset($params['scope_type']) ? $params['scope_type'] : 'store';
$this->_initCurrentStore($scopeCode, $scopeType);
$this->_initRequest();
Mage_Core_Model_Resource_Setup::applyAllDataUpdates();
}
$this->getFrontController()->dispatch();
}
return $this;
}
/**
* Initialize PHP environment
*
* @return Mage_Core_Model_App
************************************
Файл: app/Mage.php
Строка: 684
Субъект: Mage::run
Объект: Mage_Core_Model_App::run
Контекст:
self::$_events = new Varien_Event_Collection();
self::_setIsInstalled($options);
self::_setConfigModel($options);
self::$_app->run(array(
'scope_code' => $code,
'scope_type' => $type,
'options' => $options,
));
Varien_Profiler::stop('mage');
} catch (Mage_Core_Model_Session_Exception $e) {
header('Location: ' . self::getBaseUrl());
die();
} catch (Mage_Core_Model_Store_Exception $e) {
require_once(self::getBaseDir() . DS . 'errors' . DS . '404.php');
die();
} catch (Exception $e) {
************************************
Файл: index.php
Строка: 87
Субъект:
Объект: Mage::run
Контекст:
/* Store or website code */
$mageRunCode = isset($_SERVER['MAGE_RUN_CODE']) ? $_SERVER['MAGE_RUN_CODE'] : '';
/* Run store or run website */
$mageRunType = isset($_SERVER['MAGE_RUN_TYPE']) ? $_SERVER['MAGE_RUN_TYPE'] : 'store';
Mage::run($mageRunCode, $mageRunType);
************************************

Вход
Регистрация
Помощь
Тема закрыта


