From: marina Date: Thu, 19 Dec 2024 08:47:42 +0000 (+0300) Subject: Merge branch 'develop' into feature-zozirova-erp_256-send_doc_on_1c X-Git-Tag: 1.7~133^2~1 X-Git-Url: https://gitweb.erp-flowers.ru/?a=commitdiff_plain;h=72a2c8b32102f4277e9a00f468ecddfbe7f6fffc;p=erp24_rep%2Fyii-erp24%2F.git Merge branch 'develop' into feature-zozirova-erp_256-send_doc_on_1c # Conflicts: # erp24/records/WaybillWriteOffs.php --- 72a2c8b32102f4277e9a00f468ecddfbe7f6fffc diff --cc erp24/records/WaybillWriteOffs.php index 00eca977,aa76001e..618b15a8 --- a/erp24/records/WaybillWriteOffs.php +++ b/erp24/records/WaybillWriteOffs.php @@@ -132,31 -132,26 +132,32 @@@ class WaybillWriteOffs extends \yii\db\ 'number' => 'ЕРП_РНС_' . date("Y-m-d_H-i") . '_' . $model->id ]); - if (!WaybillWriteOffsProducts::setData($model, $shiftTransfer)) { + WaybillWriteOffsProducts::setData($model, $shiftTransfer); + + if (!WaybillWriteOffsProducts::find() + ->andWhere(['waybill_write_offs_id' => $model->id]) + ->exists()) { $model->delete(); - } else { - $summaries = WaybillWriteOffsProducts::find() - ->andWhere(['waybill_write_offs_id' => $model->id]) - ->select([ - 'total_product_count' => 'sum(product_count)', - 'total_summ' => 'sum(summ)', - 'total_summ_self_cost' => 'sum(summ_self_cost)' - ]) - ->asArray() - ->one(); + return; + } + + $summaries = WaybillWriteOffsProducts::find() + ->andWhere(['waybill_write_offs_id' => $model->id]) + ->select([ + 'total_product_count' => 'sum(product_count)', + 'total_summ' => 'sum(summ)', + 'total_summ_self_cost' => 'sum(summ_self_cost)' + ]) + ->asArray() + ->one(); - if ($summaries) { - $model->updateAttributes([ - 'quantity' => $summaries['total_product_count'], - 'summ' => $summaries['total_summ'], - 'summ_self_cost' => $summaries['total_summ_self_cost'] - ]); + if ($summaries) { + $model->updateAttributes([ + 'quantity' => $summaries['total_product_count'], + 'summ' => $summaries['total_summ'], + 'summ_self_cost' => $summaries['total_summ_self_cost'] + ]); + } } } catch (\Exception $exception) { throw new \Exception($exception);