Исправление ошибок для импорта из 1С

This commit is contained in:
Arsen Mirzaev Tatyano-Muradovich 2021-04-11 11:48:32 +10:00
parent b50049eb67
commit 874d5c3f55
4 changed files with 53 additions and 48 deletions

View File

@ -134,7 +134,7 @@ class Notification extends Document
*/
public function write(): self|array|null
{
return $this::_write($this->text, $this->html, $this->account, $this->type);
return $this::_write($this->text, $this->html, $this->account ?? null, $this->type);
}
/**

View File

@ -442,7 +442,7 @@ class Product extends Document
$date = date('H:i d.m.Y', time());
// Настройка
$model->text = yii::$app->controller->renderPartial('/notification/system/afterImportExcel', compact('amount', 'date'));
$model->text = yii::$app->controller->renderPartial('@app/views/notification/system/afterImportExcel', compact('amount', 'date'));
$model->type = $model::TYPE_NOTICE;
// Отправка
@ -451,8 +451,6 @@ class Product extends Document
/**
* Вызывается после загрузки поставок из 1С
*
* @param int $amount Количество
*/
public static function afterImport1c(): bool
{
@ -461,7 +459,7 @@ class Product extends Document
$date = date('H:i d.m.Y', time());
// Настройка
$model->text = yii::$app->controller->renderPartial('/notification/system/afterImport1c', compact('amount', 'date'));
$model->text = yii::$app->controller->renderPartial('@app/views/notification/system/afterImport1c', compact('date'));
$model->type = $model::TYPE_NOTICE;
// Отправка

View File

@ -275,7 +275,7 @@ class Supply extends Product implements ProductInterface
$this->imgs ?? [],
[
[
'desc' => $caption,
'dscr' => $caption,
'path' => $path_local,
'sorc' => $path
]
@ -301,55 +301,62 @@ class Supply extends Product implements ProductInterface
return new SupplyEdgeProduct;
}
// Создание продукта (временно заблокировано)
if (
!yii::$app->user->isGuest
&& yii::$app->user->identity->agnt
&& (yii::$app->user->identity->type === 'administrator'
|| yii::$app->user->identity->type === 'moderator')
) {
// Пользователь аутентифицирован и авторизован
// // Инициализация п̸̨͇͑͋͠р̷̬̂́̀̊о̸̜̯̹̅͒͘͝д̴̨̨̨̟̈́̆у̴̨̭̮̠́͋̈́к̴̭͊̋̎т̵̛̣͈̔̐͆а̵̨͖͑
// $product = self::initEmpty($this->catn);
// Инициализация п̸̨͇͑͋͠р̷̬̂́̀̊о̸̜̯̹̅͒͘͝д̴̨̨̨̟̈́̆у̴̨̭̮̠́͋̈́к̴̭͊̋̎т̵̛̣͈̔̐͆а̵̨͖͑
$product = self::initEmpty($this->catn);
// if (!is_array($product)) {
// // Создался только один товар и вернулся в виде модели
if (!is_array($product)) {
// Создался только один товар и вернулся в виде модели
// $product = [$product];
// }
$product = [$product];
}
// if (is_array($this->oemn)) {
// // Значение OEM было инициализировано
if (is_array($this->oemn)) {
// Значение OEM было инициализировано
// foreach ($this->oemn as $oem) {
// // Перебор артикулов из массива ОЕМ-номеров
foreach ($this->oemn as $oem) {
// Перебор артикулов из массива ОЕМ-номеров
// // Инициализация и запись
// $product[] = self::initEmpty($oem);
// }
// }
// Инициализация и запись
$product[] = self::initEmpty($oem);
}
}
// foreach ($product as $product) {
// // Перебор всех инициализированных продуктов
foreach ($product as $product) {
// Перебор всех инициализированных продуктов
// if ($this->catn !== $product->catn) {
// // Каталожные номера не соответствуют друг другу
if ($this->catn !== $product->catn) {
// Каталожные номера не соответствуют друг другу
// continue;
// }
continue;
}
// // Код ниже скорее всего устарел
// Код ниже скорее всего устарел
// if (SupplyEdgeProduct::searchByVertex($this->readId(), $product->readId())) {
// // Ребро уже существует
if (SupplyEdgeProduct::searchByVertex($this->readId(), $product->readId())) {
// Ребро уже существует
// continue;
// }
continue;
}
// // Запись ребра: ПОСТАВКА -> ПРОДУКТ
// $return = (new SupplyEdgeProduct)->write(
// $this->readId(),
// $product->readId(),
// 'connect',
// [
// 'onec' => self::xml2array($offer->xml)
// ]
// );
// }
// Запись ребра: ПОСТАВКА -> ПРОДУКТ
$return = (new SupplyEdgeProduct)->write(
$this->readId(),
$product->readId(),
'connect',
[
'onec' => self::xml2array($offer->xml)
]
);
}
}
// Возвращает последнее сохранённое ребро
// Надо будет с этим разобраться
@ -373,7 +380,7 @@ class Supply extends Product implements ProductInterface
// Настройка
$model->ocid = $id ?? null;
$model->catn = (string) $product->Артикул;
$model->desc = (string) $product->Описание;
$model->dscr = (string) $product->Описание;
$model->onec = self::xml2array($product->xml);
if (isset($model->onec['ЗначенияСвойств'])) {

View File

@ -1,9 +1,9 @@
<?php
// NOTE: Make sure this file is not accessible when deployed to production
if (!in_array(@$_SERVER['REMOTE_ADDR'], ['127.0.0.1', '::1'])) {
die('You are not allowed to access this file.');
}
// if (!in_array(@$_SERVER['REMOTE_ADDR'], ['127.0.0.1', '::1'])) {
// die('You are not allowed to access this file.');
// }
defined('YII_DEBUG') or define('YII_DEBUG', true);
defined('YII_ENV') or define('YII_ENV', 'test');