Код: Выделить всё
// Изменяем статус Входящих и Исходящих заказов, после проведения оплаты входящего счета
// Если счет за материалы - есть заказ, и дата не пустая - оплата прошла
if([642]==147 && !is_null([646])){
$out_po_id=[915]; // ID Исходящего заказа
$in_po_id=[parent_item_id]; // ID Входящего заказа
$invoice_sum=[645]; // Сумма счета
$in_po_sum_query=db_query("select sum(field_507*field_499) as in_po_sum from app_entity_52 where field_513=" . $in_po_id);
if($in_po_sum_arr=db_fetch_array($in_po_sum_query)){
$in_po_sum=$in_po_sum_arr[in_po_sum]; // Сумма закупки Входящего заказа
}
$out_po_sum_query=db_query("select sum(field_507*field_499) as out_po_sum from app_entity_52 where field_514=" . $out_po_id);
if($out_po_sum_arr=db_fetch_array($out_po_sum_query)){
$out_po_sum=$out_po_sum_arr[out_po_sum]; // Сумма Исходящего заказа
}
$paid_invoces_sum_query=db_query("select sum(field_645) as paid_invoces from app_entity_42 where field_646 IS NOT NULL and parent_item_id=" . $in_po_id);
if($paid_invoces_sum_arr=db_fetch_array($paid_invoces_sum_query)){
$paid_invoces_sum=$paid_invoces_sum_arr[paid_invoces]; // Сумма оплаченных счетов
}
$paid_out_sum_query=db_query("select sum(field_645) as paid_out from app_entity_42 where field_646 IS NOT NULL and field_915=" . $out_po_id);
if($paid_out_sum_arr=db_fetch_array($paid_out_sum_query)){
$paid_out_sum=$paid_out_sum_arr[paid_out]; // Сумма оплаченных счетов по данному Исходящему заказу
}
$allout_po_sum=0;
$allout_po_query=db_query("select id from app_entity_38 where parent_item_id=" . $in_po_id);
if($allout_po_arr=db_fetch_array($allout_po_query)){
while($allout_po_arr=db_fetch_array($allout_po_query)){
$allout_po_id=$allout_po_arr['id'];
$po_sum_query=db_query("select sum(field_507*field_499) as po_sum from app_entity_52 where field_514=" . $allout_po_id);
if($po_sum_arr=db_fetch_array($po_sum_query)){
$allout_po_sum= $allout_po_sum + $po_sum_arr[po_sum]; // Сумма всех Исходящих заказов
}
}
}
$out_po_entity_id=38;
$in_po_entity_id=29;
if($invoice_sum>=$out_po_sum || $paid_out_sum>=$out_po_sum){
$out_data=['field_918' => 174]; // статус "Оплачено"
}elseif($invoice_sum<$out_po_sum){
$out_data=['field_918' => 175]; // статус "Оплачено частично"
}
if($paid_invoces_sum>=$in_po_sum){
$in_data=['field_279' => '153,72']; // статус "Заказан полностью, Оплачен полностью"
}elseif($paid_invoces_sum<$in_po_sum && $allout_po_sum==$in_po_sum){
$in_data=['field_279' => '153,71']; // статус "Заказан полностью, Оплачен частично"
}elseif($paid_invoces_sum<$in_po_sum && $allout_po_sum<$in_po_sum){
$in_data=['field_279' => '152,71']; // статус "Заказан частично, Оплачен частично"
}
items::update_by_id($out_po_entity_id,$out_po_id,$out_data);
items::update_by_id($in_po_entity_id,$in_po_id,$in_data);
}
Простое числовое поле, которое даже не участвует в данной автоматизации, да и сама эта автоматизация запускается только при сохранении или добавлении записи в другой (но дочерней к данной) сущности. Так вот, при попытке что-то вести в поля этой формы выходит длинная страница со следующими данными:
Возможно, где-то у меня ошибка в коде, но хоть убей, не могу понять где.. Но до недавнего времени то все работало, и ничего в данном коде я не менял..Warning: Use of undefined constant in_po_sum - assumed 'in_po_sum' (this will throw an Error in a future version of PHP) in /home/users/i/.../domains/.../plugins/ext/classes/processes/processes.php(1682) : eval()'d code on line 9
Warning: Use of undefined constant out_po_sum - assumed 'out_po_sum' (this will throw an Error in a future version of PHP) in /home/users/i/.../domains/.../plugins/ext/classes/processes/processes.php(1682) : eval()'d code on line 13
Warning: Use of undefined constant paid_invoces - assumed 'paid_invoces' (this will throw an Error in a future version of PHP) in /home/users/i/.../domains/.../plugins/ext/classes/processes/processes.php(1682) : eval()'d code on line 17
Warning: Use of undefined constant paid_out - assumed 'paid_out' (this will throw an Error in a future version of PHP) in /home/users/i/.../domains/.../plugins/ext/classes/processes/processes.php(1682) : eval()'d code on line 21
. . .
Warning: Use of undefined constant in_po_sum - assumed 'in_po_sum' (this will throw an Error in a future version of PHP) in /home/users/i/.../domains/.../plugins/ext/classes/processes/processes.php(1682) : eval()'d code on line 9
Warning: Use of undefined constant out_po_sum - assumed 'out_po_sum' (this will throw an Error in a future version of PHP) in /home/users/i/.../domains/.../plugins/ext/classes/processes/processes.php(1682) : eval()'d code on line 13
Warning: Use of undefined constant paid_invoces - assumed 'paid_invoces' (this will throw an Error in a future version of PHP) in /home/users/i/.../domains/.../plugins/ext/classes/processes/processes.php(1682) : eval()'d code on line 17
Warning: Use of undefined constant paid_out - assumed 'paid_out' (this will throw an Error in a future version of PHP) in /home/users/i/../domains/.../plugins/ext/classes/processes/processes.php(1682) : eval()'d code on line 21
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 262144 bytes) in /home/users/i/.../domains/.../includes/classes/fields_types.php on line 1092
Warning: Unknown: Cannot call session save handler in a recursive manner in Unknown on line 0
Warning: Unknown: Failed to write session data using user defined save handler. (session.save_path: /home/users/i/.../tmp) in Unknown on line 0