->andWhere(['shift_transfer_id' => $id])
->andWhere(['<', 'fact_and_1c_diff', 0])
->select('product_guid')->column()]),
- 'id', 'name');
+ 'id', function($model) {
+ return $model->name . ' (арт. ' . $model->articule . ')';
+ });
return $this->render('view',
compact('shiftTransfer', 'storeNameById', 'admins', 'products'));
}
foreach ($equalizationRemains as $er) {
+ if (preg_match('/^[a-f0-9\-]{36}$/i', $er['product_replacement_id'])) {
+ $productReplacementId = $er['product_replacement_id'];
+ } else {
+ if (preg_match('/^(.*)\s\(арт\.\s(\d+)\)$/', $er['product_replacement_id'], $matches)) {
+ $productReplacementId = Products1c::findOne(['name' => $matches[1], 'articule' => $matches[2]])->id;
+ } else {
+ $productReplacementId = null;
+ }
+ }
+
$equalizationRemain = new EqualizationRemains();
$equalizationRemain->setAttributes([
'shift_transfer_id' => $shift_transfer_id,
'product_count' => $er['product_replacement_count'],
'product_price' => $er['product_price'],
'product_self_cost' => $er['product_self_cost'],
- 'product_replacement_id' => Products1c::findOne(['name' => $er['product_replacement_id']])->id ?? $er['product_replacement_id'],
+ 'product_replacement_id' => $productReplacementId ?? '',
'product_replacement_count' => $er['product_replacement_count'],
'product_replacement_price' => $er['product_replacement_price'],
'product_replacement_self_cost' => $er['product_replacement_self_cost'],
use yii\data\ArrayDataProvider;
use yii\helpers\Html;
use yii\helpers\Url;
+use yii_app\records\Products1c;
use yii_app\records\ShiftTransfer;
use yii\widgets\ActiveForm;
$incomingBalance = \yii_app\records\WaybillIncoming::findOne(['shift_transfer_id' => $shiftTransfer->id])->summ ?? 0;
$form = \yii\widgets\ActiveForm::begin(); ?>
-
+ ?>
<div class="row py-2">
<div class="col-2">
<?= Html::label('Таблица замен', null, ['class' => 'h4 font-weight-bold']); ?>
'change' => new \yii\web\JsExpression('function() { setProductData.call(this); }'),
],
],
- 'value' => function ($model) {
- return $model->product->id ?? '';
- },
],
[
'name' => 'product_price',
}'),
],
],
- 'value' => function ($model) {
- return $model->productReplacement->name ?? '';
+ 'value' => function ($data) {
+ if (!empty($data)) {
+ $product = Products1c::findOne($data['product_replacement_id']);
+ return $product->name . ' (арт. ' . $product->articule . ')';
+ }
+ return '';
},
+
],
[
'name' => 'product_replacement_price',
'attribute' => 'product_id',
'label' => 'Товар',
'value' => function ($model) {
- return $model->product->name;
+ return $model->product->name . ' (арт. ' . $model->product->articule . ')';
},
'pageSummary' => Html::tag('b', 'Итого'),
],
'attribute' => 'product_replacement_id',
'label' => 'Товар замена',
'value' => function ($model) {
- return $model->productReplacement->name;
+ return $model->productReplacement->name . ' (арт. ' . $model->productReplacement->articule . ')';
}
],
[
'label' => 'Товар',
'attribute' => 'name',
'pageSummary' => 'Итого:',
+ 'value' => function ($model) {
+ return $model->product->name . ' (арт. ' . $model->product->articule . ')';
+ }
],
[
'label' => 'Количество товара',
'label' => 'Товар',
'attribute' => 'name',
'pageSummary' => 'Итого:',
+ 'value' => function ($model) {
+ return $model->product->name . ' (арт. ' . $model->product->articule . ')';
+ }
],
[
'label' => 'Количество товара',